我遇到了一些关于php.ini post_max_size和upload_max_filesize如何工作的令人困惑的问题。阅读php.net文档,我知道通过设置post_max_size = 16M和upload_max_filesize = 16M,将使我们能够上传最大16MB的文件。但我所看到的并非如此。我正在使用此
检查加载的.ini值$max_upload = (int)(ini_get('upload_max_filesize'));
$max_post = (int)(ini_get('post_max_size'));
$memory_limit = (int)(ini_get('memory_limit'));
$upload_mb = min($max_upload, $max_post, $memory_limit);
echo $max_upload;
echo $max_post;
echo $memory_limit;
echo $upload_mb;
输出:
2
8
96
2
该值与我在此php.ini中指定的值不同。
这是我的php.ini配置: https://docs.google.com/file/d/0B2o1vMJ7XFKyT0xDWUhJTnR0M2c/edit?usp=sharing
通过检查phpinfo()的输出,我已经确定这个配置是php解释器加载的配置;
由于
答案 0 :(得分:1)
我找到了解决自己问题的方法。 通过更彻底地检查/etc/php5/fpm/php.ini,我发现了:
error_reporting = E_ALL error_reporting = E_ALL & ~E_DEPRECATED ~E_DEPRECATED
将该值固定为
error_reporting = E_ALL & ~E_DEPRECATED
解决了这个问题。 我之所以拥有那些嵌套值的原因是因为,我首先使用sed修改了值,我忘了逃避'&'字符。 (&表示插入子字符串,因此它将在此之前插入字符串)。将它转换为'\&'后,sed命令按预期工作。
干杯
答案 1 :(得分:0)
你确定更改正确的php.ini看到php ini目录的Apache配置也许你改了另一个php.ini
在Apache配置中搜索类似于set php ini目录
的内容 PHPINIDir "c:/php"
另一个问题可能是在htaccess中设置此参数,如果在运行中设置参数覆盖。
像
php_value upload_max_filesize 10M
php_value post_max_size 10M
注意:htaccess有时会在父目录中设置