這篇文章介紹的內容是關於Nginx PHP-fpm File not found.問題解決記錄,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下
現象確認:
開啟瀏覽器的開發者工具,查看請求資訊
<br>
HTTP/1.1 404 Not Found
Server: nginx/1.11. 10
Date: Fri, 20 Apr 2018 08:10:13 GMT
Content-Type: text/html; charset=UTF- 8
Transfer-Encoding: chunked
Connection: keep-alive
X-Powered-By: PHP/5.6.30
#說明結果是由FastCGI回傳的。
<br>
問題原因:
<br>
# 估計是跟權限有關係
<br>
相同的配置,使用以下兩個:
/opt/local/share/nginx/html /opt/local/share/nginx/html/php
目錄都可以,但使用:
/Users/xxx/Downloads/workForder
目錄卻不行。
透過 ls -l 查看權限,發現差異在於
<br>
#/Users/xxx/Downloads/workForder
目錄中的檔案沒有擴充屬性,也就是沒有@符號。
<br>
後來修改Nginx的靜態檔案root目錄到:
<br>
/Users/xxx/Downloads/workForder
存取出現:
再看 nginx 403 ,找到問題原因了,需要修改設定檔中的user 和group。
nginx的格式是:<br>##
user 你的用户名/root owner; 比如: user root owner;PHP-fpm的分別修改:
<br>
user = root group = owner然後重新啟動。 PHP-fpm 本身沒有重啟的指令,比較坑!只能殺進程了。
<br>
設定檔:
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # location ~ \.php$ { root /Users/xxx/Downloads/workForder; # root /opt/local/share/nginx/html/php; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi.conf; }這裡只展示與PHP相關的部分。當我在設定中加入
<br>
try_files $uri =404;
后,就会看到由Nginx返回的:
<br>
<br>
#存取PHP檔案時,你可能會看到下面這樣的錯誤:<br>
那是因為FastCGI沒有啟動,需要啟動:sudo php-fpm -D而如果Nginx和PHP的都指向同一個目錄,那麼還是會看到:File not found
#
以上是Nginx + PHP-fpm File not found.問題解決記錄的詳細內容。更多資訊請關注PHP中文網其他相關文章!