PHP最大文件上载配置问题

时间:2013-02-24 15:35:19

标签: php

我遇到了一些关于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解释器加载的配置;

由于

2 个答案:

答案 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有时会在父目录中设置