php 无法使用 nginx 和 phpfm 进行解析

php 无法使用 nginx 和 phpfm 进行解析

我正在设置 VPS,并按照本教程中有关 WordPress 的 nginx、PHP、MySQL 说明进行操作http://tutspundit.com/howto-install-nginx-php-fpm-mysql-php533-wordpress-ubuntu-part-1/进而http://tutspundit.com/how-to-install-nginx-php-fpm-mysql-php533-wordpress-part-2/

问题是 php 文件在浏览器中返回 php 代码本身,而不对其进行解析。那么我错过了什么?

更新:正在启动php-fpmnginx运行正常。我认为根本nginx没有意识到php-fpm,也许缺少某些链接?我检查了 nginx 错误日志,但没有与 PHP 相关的内容。我似乎无法弄清楚缺少了什么。

答案1

事实证明,没有编辑默认配置文件来代理 PHP 请求是一个愚蠢的错误。

server {
    listen   80;
    server_name domain.in;
    access_log /home/ashfame/www/domain.in/logs/access.log;
    error_log /home/ashfame/www/domain.in/logs/error.log;

    location / {
        root   /home/ashfame/www/domain.in/public_html;
        index  index.html index.php;
    }

    location ~ \.php$ {
        include /etc/nginx/fastcgi_params;
        fastcgi_pass  127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param  SCRIPT_FILENAME  /home/ashfame/www/domain.in/public_html$fastcgi_script_name;
    }
}

答案2

检查:

  • 更改配置后,您是否重新加载了 nginx?您可以使用 来执行此操作sudo service nginx reload
  • Nginx 设置了导致浏览器缓存页面的标头。按 Ctrl + F5(Firefox)确保您没有看到 PHP 页面的缓存版本。或者,使用 curl 或 wget 来验证问题不是由您的浏览器引起的。您最好遵循在 nginx 上安装 php-fpm 的官方来源

答案3

location ~ [^/]\.php(/|$) {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}

这将解析 URI 中的所有 .php 文件,以及以“/”开头或结尾的路径。

相关内容