Red Hat 上的 Apache 无法解释 PHP 文件

Red Hat 上的 Apache 无法解释 PHP 文件

在 Red Hat(内核 2.6)上通过 Apache 2.2.15 运行 PHP 5.3.3

我在根目录中有一个名为 test.php 的测试文件:

<?
  phpinfo();
?>

当我用浏览器访问此文件时,它会将未解释的源代码发送给我。

日志中没有显示任何错误,并且访问日志有一个标准条目:

xx.xx.xx.xx - - [29/Nov/2012:10:26:56 -0500] "GET /test.php HTTP/1.1" 200 17 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.91 Safari/537.11"

我的配置文件有以下几行:

/etc/httpd/conf/httpd.conf

...
Include conf.d/*.conf
...

/etc/httpd/conf.d/php.conf

#
# PHP is an HTML-embedded scripting language which attempts to make it
# easy for developers to write dynamically generated webpages.
#
<IfModule prefork.c>
  LoadModule php5_module modules/libphp5.so
</IfModule>
<IfModule worker.c>
  LoadModule php5_module modules/libphp5-zts.so
</IfModule>

#
# Cause the PHP interpreter to handle files with a .php extension.
#
AddHandler php5-script .php
AddType text/html .php

#
# Add index.php to the list of files that will be served as directory
# indexes.
#
DirectoryIndex index.php

#
# Uncomment the following line to allow PHP to pretty-print .phps
# files as PHP source code:
#
#AddType application/x-httpd-php-source .phps

启动时没有记录任何错误,这表明模块确实被正确加载。

这些都是开箱即用的配置,所以我真的很惊讶它居然不起作用。有什么想法吗?

答案1

为什么搜索了几个小时却一无所获。但在 SO 上发帖 2 分钟后就得到了答案?

因此,无论我从哪个网站复制该测试文件,都没有考虑到默认情况下短标签是关闭的。将测试文件更改为

<?php
  phpinfo();
?>

修复了所有问题。

相关内容