PHP返回内容过长时被nginx截断的解决办法(php文本过长,页面打不开)

给人搭了一个php的博客,本地我测试用apache启的服务,测试没有问题,部署到服务器上,我用的nginx + php-fpm。一切都很完美,但是用户发了一个几千行的文本,里面夹杂着几张图片,问题来了,页面打不开,再次编辑页面也是空白。

以为问题在php的配置或者nginx的配置上。于是动手修改服务器的配置。
修改了php.ini

...
post_max_size = 20m;
upload_max_filesize = 20M;
...

nginx添加了

server {
    ...
    client_max_body_size 20m;
    ...
}

然而问题依然存在。
本地测试了一下,并没有问题。
想了想,本地使用apache启动的,而服务器是用nginx代理的,所以问题可能出在nginx上。

于是,查了查日志

tail -f /usr/local/nginx/logs/error.log
2018/05/22 10:05:13 [crit] 32296#0: *9245108 open() "/usr/local/nginx/fastcgi_temp/5/53/0000003535" failed (13: Permission denied) while reading upstream, client: xxxx, server: xiaochou01.com, request: "GET /admin/write_log.php?action=edit&gid=2 HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "xxxx", referrer: "xxxxxxxxxxxxx"

Permission denied问题果然在nginx。

chmod -R 755 /usr/local/nginx/fastcgi_temp

刷新一下,正常加载。

未经允许不得转载:莫小奈博客 » PHP返回内容过长时被nginx截断的解决办法(php文本过长,页面打不开)

评论 0

评论前必须登录!

登陆 注册