首页 > PHP > PHP-FPM + NGINX 空白页面问题的解决

PHP-FPM + NGINX 空白页面问题的解决

2011年6月10日 发表评论 阅读评论

架设了一台服务器,采用PHP-FPM + NGINX结构,测试时返回空白页面,HTTP状态码200。

访问的文件只要是.php结尾的,无论存在与否,返回状态码均为200,页面内容一律空白。

特意创建了一个PHP文件,里面只有一行代码<?php phpinfo(); ?>,仍然不行,这下也排除了短标签问题。

所有错误日志打开,php.ini、php-fpm.conf、nginx.conf都设置开启日志。

查看日志,没有一处相关的错误报告,nginx日志、php日志、php-fpm日志、系统日志全部检查过,没有任何有用的提示。

究竟是PHP-FPM出问题了还是NGINX设置的问题?查了很多资料都没找到解决办法。

找到最后,都快想放弃了。这时抱着试试看的心态,测试了一个文本文件,返回结果是”403 Forbidden”。

网上一查,原来是权限问题,运行命令修改权限:

Chmod –R 755 /var/www/html/

再次测试,文本文件正常显示,又看到希望了。

再测试phpinfo文件,内容正常打印,曙光终于出现。

我突然想起我所用的框架中很多处函数调用都采用了”@” 符号(at符号)来抑制错误提示。

会不会是这个原因呢?我清理了代码中所用函数调用代码的”@”标记,再次运行我的代码,终于出现错误提示了,一个fatal error,原来是mysql模块没装上。

“@”符号真的害死人啊,我花了那么多时间才找出了错误的原因,我简直想找写这个框架的人来痛扁一顿。

在此给各位同学提醒一下,如无必要,最好不要在PHP函数调用前加”@”符号,错误的抑制完全可以通过php.ini和.htaccess完成。

当然,如果php.ini和.htaccess权限都没有,那么也就只有忍了。

分类: PHP 标签:
  1. 2011年9月29日11:17 | #1

    我这边改成755后也没法打开phpinfo.php。。。

  1. 2012年5月17日23:59 | #1