PHP POST 接受长字符串时出现500错误

原创
2016/12/19 11:21
阅读数 1.6K

昨天在开发的时候遇到一个问题,form entype=“multipart/form-data” 表单提交时显示500错误。

开始我以为是php代码问题,我检查了一遍代码,没有问题。 之后设置断点,依旧报错500,这就说明断点代码就没有执行,表单提交动作根本没有触发后端的php代码。 于是,我将注意力放在了php配置上,反复修改配置调试,而且重装了php依然无效。 最后在查看php错误日志的时候,顺便也看了下nginx的错误日志,这才发现问题所在

2016/12/19 10:49:22 [crit] 31870#0: *197 open() "/var/lib/nginx/tmp/client_body/0000000008" failed (13: Permission denied), client: XXX, server:XXX, request: "POST /admin/XXX.php?act=post HTTP/1.1", host: "XXX", referrer: "http://host/admin/XXXphp?act=post"

从这行报错可以看出,nginx在接收提交数据时,请求失败,因为权限不够被拒绝。 再来到/var/lib/文件下在,看到该文件夹下的 nginx 的权限为

drwx------  3 www  apache  4096 Apr  4 00:30 nginx

所以将该文件夹的权限修改为755,问题就解决了。

反思:在解决问题的过程中,没有及时查看错误日志,查找具体原因,一味凭猜测在调试修改,结果花费了很多时间。

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
1
分享
返回顶部
顶部