PHP POST 接受長字符串時出現500錯誤

昨天在開發的時候遇到一個問題,form entype=「multipart/form-data」 表單提交時顯示500錯誤。php

開始我覺得是php代碼問題,我檢查了一遍代碼,沒有問題。 以後設置斷點,依舊報錯500,這就說明斷點代碼就沒有執行,表單提交動做根本沒有觸發後端的php代碼。 因而,我將注意力放在了php配置上,反覆修改配置調試,並且重裝了php依然無效。 最後在查看php錯誤日誌的時候,順便也看了下nginx的錯誤日誌,這才發現問題所在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 的權限爲apache

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

因此將該文件夾的權限修改成755,問題就解決了。後端

反思:在解決問題的過程當中,沒有及時查看錯誤日誌,查找具體緣由,一味憑猜想在調試修改,結果花費了不少時間。post

相關文章
相關標籤/搜索