我正在通过 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?>
,或者如果您只用打开标签,<?
则应将其设置为开启。