php.ini 配置选项设定范围
记录一个同事给挖的坑~
php中的ini_set
函数可以为一个配置选项设置值,但是并不是所有的配置都可以在代码中使用该函数设置
事情的起因是需要修改一下上传文件最大的限制,从8M修改为20M,因为同事写的代码没有测试就去做别的项目并且代码已经提交到git,所以在我接手的时候就以为是可以使用的,看到他在代码中写了类似下面的代码
1 |
|
折腾就是死活不生效,nginx的client_max_body_size
配置也修改了,容器也销毁重建了…..,最后仔细一想就是下面的限制.
配置可被设定范围
一个配置选项是否可以在ini_set中进行设置,主要是取决于该设置是什么模式,手册中的每个指令都有其所属的模式。
模式 | 含义 |
---|---|
PHP_INI_USER | 可在用户脚本以及 .user.ini 中设定 |
PHP_INI_PERDIR | 可在 php.ini,.htaccess 或 httpd.conf 中设定 |
PHP_INI_SYSTEM | 可在 php.ini 或 httpd.conf 中设定 |
PHP_INI_ALL | 可在任何地方设定 |
上面两个配置的模式是PHP_INI_PERDIR
,所以必须在php.ini
中修改才是会生效的
名字 | 默认 | 可修改范围 |
---|---|---|
upload_max_filesize | “2M” | PHP_INI_PERDIR |
post_max_size | “8M” | PHP_INI_PERDIR |