nginx 将 PHP 渲染为纯文本

nginx 将 PHP 渲染为纯文本
server {
  listen        80;
  server_name   test.local;

  access_log /var/log/nginx/access.log;
  error_log  /var/log/nginx/error.log;
  root       /var/www/testsite;

  location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        include /etc/nginx/fastcgi_params;
  }
}

对 php 文件的请求只会以纯文本形式返回代码。标头确实提到了 PHP,因此我推测 nginx 正在正确地与 PHP 通信。

我已经看过太多遍了,我觉得我肯定是正视问题所在。有人能帮忙吗?

答案1

查看您的文件是否以 < ? 开头。

如果是这样,并且你想保留它们,你需要编辑/etc/php5/fpm/php.ini并设置短打开标签从 关闭 到并重新启动 php-fpm。

sudo nano /etc/php5/fpm/php.ini

搜索short_open_tag并将其设置为On。

重启 php-fpm

sudo service php5-fpm restart

相关内容