Nginx 使用 php-fpm 返回空白 HTML 页面

Nginx 使用 php-fpm 返回空白 HTML 页面

我正在通过 Nginx 使用 php-fpm。

我的 nginx.conf 可以在这里找到:http://pastebin.com/Nu9iD8Km
它包含此处的文件:http://pastebin.com/ece4cwXF
我的 php-fpm.conf 可以在这里找到(所有省略的选项都是默认的):http://pastebin.com/70fBE30E
我的 fastcgi_params 文件与默认文件类似,但根据网络上的建议添加了此行: fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

我总是看到空白页而不是 PHP 脚本,但静态内容加载正常。奇怪的是,我没有收到 404 错误 - 我的浏览器告诉我状态代码是 200 OK。

nginx 和 php-fpm 的日志都没有显示任何有趣的信息。这可能是什么原因造成的?

我怎样才能解决这个问题?

答案1

我的 php 部分如下所示:

        location ~ \.php$ {
            include fastcgi_params;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_pass unix:/dev/shm/php-fastcgi.socket;
    }

我的 php-fpm.conf 中的 listen 指令如下:

listen = /dev/shm/php-fastcgi.socket

你能提供一下你的 php-fpm.conf 吗?如果错误仍然存​​在,请在 fpm 中启用日志记录并提供 fpm 日志:

php_admin_value[error_log] = /var/log/fpm-php.www.log
php_admin_flag[log_errors] = on

答案2

我遇到过类似的问题 - 没有警告就出现空白页 -short_open_tag = On问题解决了。检查 php.inishort_open_tag是开启还是关闭?如果您使用类似快捷方式<?=$test?>,或者如果您只用打开标签,<?则应将其设置为开启。

相关内容