2017-04-19 54 views
0

首先,我是新來的,新來的unix。我之前的經歷僅限於cPanel,Plesk等。所以如果我的方法出現了一些錯誤,請原諒我。NGINX不執行php文件

我有一個CentOS(版本7.3.1611)VPS與Nginx(1.10.2)和PHP(7.0.17)。

我遵循一些指南來讓PHP運行,並遵循這裏給出的類似問題的一些答案以及無濟於事。

這裏是我的配置:

www.conf:

listen = /run/php-fpm/php-fpm.sock 
listen.owner = nginx 
listen.group = nginx 
user = nginx 
group = nginx 

我改變權限和所有權在PHP-fpm.sock。

nginx.conf:

include /etc/nginx/default.d/*.conf; 

的nginx/default.d/default.conf:

index index.php index.html index.htm; 
server_name _; 
location ~ \.php$ { 
try_files $uri =404; 
fastcgi_pass unix:/run/php-fpm/php-fpm.sock; 
fastcgi_index index.php; 
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
include fastcgi_params; 
} 

最後,我創建了一個info.php的文件。執行它時,我得到一個nginx錯誤:您正在尋找的頁面暫時不可用。請稍後再試。

如果禁用nginx錯誤頁面,瀏覽器會詢問我是否要下載文件info.php。

謝謝你幫助我!

回答

0

我最初遇到了類似的問題,但通過確保'include'和'fastcgi_pass'的路徑有效來解決此問題。通過導航到這些目錄,您可以驗證這些路徑上是否有可用的內容。

# PHP 7 
# cgi.fix_pathinfo=0 in php.ini 
# case-sensitive regex 
location ~ \.php$ { 
    include   /usr/local/nginx/conf/fastcgi_params; 
    fastcgi_pass unix:/var/run/php/php7.0-fpm.sock; 
    fastcgi_index index.php; 
    try_files  $uri $uri/ =404; 
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
} 

希望這會有所幫助。

乾杯,

伊恩

+0

感謝您的幫助,伊恩。 fastcgi_pass的路徑在nginx/default.d/default.conf中是正確的。包括的通行證不是。它應該是/ etc/nginx/fastcgi_params。我相應地更正了default.conf,但仍然沒有運氣。 – Eli

+0

nginx error.log中的任何消息?特別是在你試圖通過瀏覽器訪問PHP文件的同時? – iangetz