nginx不能運行php檔案的解決方法:先找到“php-fpm.conf”,並把“listen”項目配置好;然後在nginx裡面把相應配置換過來即可。
本文操作環境:linux5.9.8系統、PHP7.1版,DELL G3電腦
nginx不能運作php檔案怎麼辦?nginx php-fpm 配置不當,造成的php檔案無法執行
很久沒去自己的網站,今天去看發現報50x的錯誤。
網站是用nginx服務的。
網路上很多情況是因為nginx配置中
location ~ .php$ { # root html; #fastcgi_pass 127.0.0.1:9000; fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; fastcgi_index index.php; # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
這一部分出問題,關鍵字搜尋出來的問題比較集中是對
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
這個部分配置錯誤的說明。
但是我的配置是正確的。
我在伺服器上
service php-fpm status
提示正常運作。
php ./index.php
也能正常執行。
問題鎖定在
fastcgi_pass 127.0.0.1:9000; fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
也就是說nginx找不到php-fpm來執行.php腳本。
那麼php-fpm.sock,具體在哪裡,
那是要根據php-fpm.conf中的設定決定的。
上網換了關鍵字搜尋終於找到一些有用的信息
fastcgi_pass的設定是要根據php-fpm.conf中的 裡面的對listen設定來決定。
好的接下來的問題就是找到php-fpm.conf,並且把listen項目配置好
有的伺服器並不會在php-fpm.conf中直接給出設置,
但是有這麼一句
include=/etc/php-fpm.d/*.conf
那我們就去對應的php-fpm.d目錄去找conf
我的是www.conf
終於發現裡面的
listen = /var/run/php-fpm/php-fpm.sock
然後到nginx裡面把對應配置換過來就好了。
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
網路上很多是
fastcgi_pass unix:/var/run/php-fpm.sock;
這個具體要根據自己php-fpm.conf裡面的對php-fpm.sock設定來定的。
問題記錄一下,遇到問題別慌,多思考,多搜索,你能發現很多精彩的東西。
搜尋要帶著思考的,如果一味的鑽死胡同,永遠找不到答案,分析問題的能力就得不到提升了。
推薦學習:《PHP影片教學》
以上是nginx不能運作php檔案怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!