php的配置文件相关参数解读

何时杖尔看南雪, 我与梅花两白头

max_execution_time

1
max_execution_time = 30

影响脚本本身执行的时间, 默认值是30S, 在CLI命令行被硬编码为0, 即没有执行时间的限制, 函数set_time_limit(),在相关脚本执行之前执行该函数可以改变这个系统设置, 如果被设置成

1
set_time_limit(0)

则表示脚本不受执行时间的限制

sql.safe_mode

1
sql.safe_mode = Off

如果打开,指定默认值的数据库连接函数将使用这些值代替提供的参数。也就是说像mysql_connect()mysql_pconnect()就忽视传送给它们的任何变量,第三方开源应用程序(如WordPress)及其他应用程序可能根本运行不了。

post_max_size

1
post_max_size=10240K

限制PHP将处理的POST请求的最大大小

upload_max_filesize

1
upload_max_filesize=1M

该设置限制了PHP允许通过上传的文件的最大值

max_input_vars

1
max_input_vars = 1000

提交表单字段数量的最大值

allow_url_fopen

1
allow_url_fopen = On

如果启用则允许PHP的文件函数——如file_get_contents()include语句和require语句——可以从远程地方(如ftp或网站)获取数据。

allow_url_include

1
allow_url_include = off

出于安全原因,建议禁用, 不过PHP 已经将改配置默认禁用, 如果开启, 就有可能造成远程文件执行漏洞, 像下面的代码, 虽然是txt文件, 但是里面包含了php代码, 服务器还是会按照PHP文件执行.

1
include 'http://yangzie.qiniudn.com/test.txt';

memory_limit

1
memory_limit = 128M

即限制 PHP 进程对于内存的使用, 可以通过下面的代码对此配置进行更改, memory_limit 主要是为了防止程序 bug, 或者死循环占用大量的内存,导致系统宕机。在引入大量三方插件,或者代码时,进行内存限制就非常有必要了。

1
2
3
ini_set("memory_limit", "128M");
memory_get_usage(); // 获取PHP脚本所用的内存大小
memory_get_peak_usage(); //返回当前脚本到目前位置所占用的内存峰值。