我在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 = 8M
,post_max_size = 8M
,memory_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。我将进一步尝试这种行为,并将更新帖子,以防万一有人会遇到同样的问题。
答案 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