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

≡放荡痞女 提交于 2020-04-07 06:23:08

昨天在开发的时候遇到一个问题,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,问题就解决了。

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

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!