0

关于 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 解释器加载的配置。

谢谢

4

2 回答 2

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 命令按预期工作。

干杯

于 2013-02-25T01:27:13.913 回答
0

你确定更改正确的 php.ini 请参阅 Apache config for php ini 目录也许你更改了另一个 php.ini

在用于设置 php ini 目录的 Apache 配置中搜索类似的内容

 PHPINIDir "c:/php" 

另一个问题可能是在 htaccess 中设置此参数,如果在运行中设置参数覆盖。

喜欢

 php_value upload_max_filesize 10M
 php_value post_max_size 10M 

注意:htaccess 有时会在父目录中设置

于 2013-02-24T15:58:08.267 回答