php nginx max上传文件大小 - 不寻常的情况

时间:2012-06-13 13:28:08

标签: php file-upload nginx

我在google中浏览过多少页面,几乎所有与stackoverflow相关的答案,总线仍然无法正常工作。

我可以上传小于2M的文件,但不能更大。

我使用PHP-FPM(PHP 5.3.10)和NGINX运行Centos 6.2(nginx版本:nginx / 1.0.12)。

现在我在http部分的nginx.conf中获得了client_max_body_size 10M;。 我还得到upload_max_filesize = 8Mpost_max_size = 8Mmemory_limit = 128M

通常在我遇到的这个问题的几乎任何答案中,这些变化都有助于用户。

现在我做了一些研究,制作了这个剧本:

<?php
//ini_set('upload_max_filesize', '8M');
$max_upload   = (ini_get('upload_max_filesize'));
$max_post     = (ini_get('post_max_size'));
$memory_limit = (int) (ini_get('memory_limit'));

echo ('$max_upload ' . $max_upload);
echo ('$max_post ' . $max_post);
echo ('$memory_limit ' . $memory_limit);
?>

现在,如果我在服务器终端中运行 - 我得到$max_upload 8M $max_post 8M $memory_limit 128 但如果我通过网络服务器(NGINX)运行它 - 我得到$max_upload 2M $max_post 8M $memory_limit 128

所以我的假设是它的NGINXes问题,但是关于这个问题的唯一NGINX参数是client_max_body_size 10M;,这是正确的,并且被放置在配置中的正确位置。

如果这是显而易见的事情,或者如果有一些我错过的事情,我很抱歉,如果有人能指出我正确的方向,我会很高兴。

干杯!

编辑:

所以我们用AlexeyKa的帮助解决了这个问题。我们在phpinfo中查找,并在那里说php正在使用不同的php.ini文件。前段时间我将php.ini的副本复制到我的主目录中。而且,当(一段时间前)我重新启动php-fpm时,它从/etc/php.ini文件切换到/home/my-user/php.ini文件。基本上我重命名了/home/my-user/php.ini并重新启动了php-fpm。这解决了一切,因为它切换到/etc/php.ini。我将进一步尝试这种行为,并将更新帖子,以防万一有人会遇到同样的问题。

2 个答案:

答案 0 :(得分:2)

可能会使用不同的php.ini吗?一个用于php-cli,另一个用于php-fpm?

答案 1 :(得分:0)

改变

/etc/php5/fpm/php-fpm.conf

和     /etc/php5/cli/php.ini要安全 并改变它的位置

upload_max_filesize = 2M

到你想要的任何文件大小

upload_max_filesize = 8M

然后重新加载

/etc/init.d/php5-fpm restart
/etc/init.d/nginx reload
/etc/init.d/nginx restart