我在一个新设置的DigitalOcean云服务器(CentOS)上安装了PHP和Apache。Web服务器运行正常:
[root@a2m5cent01 httpd]# service httpd status
httpd (pid 11232) is running...
[root@a2m5cent01 httpd]# php --version | head -1
PHP 5.3.3 (cli) (built: Dec 11 2013 03:29:57)
如果我尝试访问任何PHP页面,浏览器会显示空白页(白页)。
到目前为止,我已经做了以下内容来进行故障排除:
- 创建一个包含以下内容的页面:
<?php phpinfo(); ?>
。从浏览器查看时显示空白页面。 - 只是为了确保Apache指向正确的目录,在那里放置了静态的
.html
页面,并且在浏览器中看到它能够正常显示,因此Apache正在工作并且目录是正确的。 - 在
/etc/php.ini
中,将display_errors
指令更改为On
。仍然是空白页面。 - 在Apache配置文件(
/etc/httpd/conf/httpd.conf
)中找到这行代码Include conf.d/*.conf
。在conf.d
目录中,有一个php.conf
文件,其中包含以下行:LoadModule php5_module modules/libphp5.so
。确保这个.so文件实际上存在于这个位置。 - 在同一文件中,我还有这两行代码:
AddHandler php5-script .php
和AddType text/html .php
- 从CLI执行php页面,它可以正常工作 - 所以php在本地工作。
那么为什么它总是在浏览器上显示一个空白/白页呢?还有什么我错过了吗?
编辑 根据@Nathan的建议,
- 我检查了Apache错误日志文件,没有看到任何错误被报告。
- 我的
/etc/php.ini
说,php error_log位于syslog
。因此我检查了/var/log/messages
,但找不到任何PHP错误消息 - 接下来,我将一些普通的
HTML
放入包含phpinfo()
调用的php文件中。有趣的是我发现连正常的HTML文本也没有出现。它仍然产生空白页面。 - 然后我检查了Apache的访问日志。惊讶!对于我尝试在浏览器中加载的所有PHP文件,都没有
GET
请求。但是所有非php文件的GET
请求都具有200返回代码。
Apache甚至没有记录任何针对PHP文件的访问请求。有什么想法为什么会发生这种情况?
php
、php-cli
、php-common
。 - hashbrown