php动态更改post_max_size, upload_max_filesize等值

在配置文件里 有些PHP 配置选项可以用int_set() 函数 直接在 项目里修改。但是有些值确不行。例如和上传文件有关的post_max_sizeupload_max_filesize

int_set('post_max_size','1024M')int_set('upload_max_filesize', '1024M') 都修改不了原值。

在PHP 文档有说明三个修改指令:

  • PHP_INI_PERDIR 可以在php.ini,httpd.conf,.htaccess 文件修改
  • PHP_INI_SYSTEM 可以在php.ini,httpd.conf 中修改
  • PHP_INI_ALL 只有修改范围是这个的才能用int_set 修改

如果想动态的修改不是PHP_INI_ALL 又是PHP_INI_PERDIR属性的正确方法是:
在文件所在目录下的.htaccess 文件里写下这些修改配置项:

<!--lang:shell-->
<IFModule mod_php5.c>
php_value upload_max_filesize 2000M
php_value post_max_size 2500M
php_value max_file_uploads 50
</IFModule>

其中 post_max_size 大于 upload_max_filesize 为佳

你可能感兴趣的:(PHP)