2017-04-19 52 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