首頁 > 後端開發 > php教程 > Nginx + PHP-fpm File not found.問題解決記錄

Nginx + PHP-fpm File not found.問題解決記錄

不言
發布: 2023-03-24 18:16:01
原創
10712 人瀏覽過

這篇文章介紹的內容是關於Nginx PHP-fpm File not found.問題解決記錄,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

現象確認:

開啟瀏覽器的開發者工具,查看請求資訊


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回傳的。


問題原因:


# 估計是跟權限有關係


相同的配置,使用以下兩個: 

/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
登入後複製
登入後複製
登入後複製

存取出現:

403 forbidden錯誤

再看 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中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板