重新编译 PHP,现在 Apache 无法解析 PHP 文件

重新编译 PHP,现在 Apache 无法解析 PHP 文件

我今天早些时候重新编译了 PHP,现在当您在浏览器中访问 PHP 页面时,Apache 会显示其源代码而不是对其进行解析。我需要重置某些配置或重新编译 Apache 吗?

这是在 Centos 5.5 上,Apache 2.2 和 PHP 5.2.17

答案1

检查以确保您的 libphp.so(或 libphp5.so)位于正确的位置。如果它安装在不同的地方,您需要更新 apache 认为它所在的位置。根据您的 apache 设置方式,应该有一个 IfModule 块来加载 apache 模块。它看起来像这样:

<IfModule !mod_php5.c>
    LoadModule php5_module    /usr/lib/php5.3/apache2/libphp5.so
</IfModule>

路径和模块名称可能不同。但如果这些都没问题,可能是你正在使用带有 ExecCGI 的“操作”,例如:

AddHandler php-cgi .php
Action php-cgi /var/www/localhost/cgi-bin/php.cgi

cgi 模块的路径可能已经改变。

答案2

从命令行类型:

apachectl 配置测试

您是否遇到任何错误?

在 httpd.conf 中,以下行被取消注释:

加载模块 php5_module ...

相关内容