我在使用 apache2 的 php 模块时遇到了麻烦。目前,使用 phpinfo 脚本进行测试时,只显示 php 代码,就像文本一样,没有任何输出。
我有一行LoadModule php5_module libphp5.so
,带有绝对路径。
然而,当我这样做时apache2 -t -D DUMP_MODULES |grep php
,什么也没有报告
我已将错误级别设置为警告,Apache 启动后日志文件中的最后一条条目是
[notice] Apache/2.2.15 (Unix) PHP/5.2.12 mod_ssl/2.2.15 OpenSSL/0.9.8g configured -- resuming normal operations
这意味着有 php 支持吗?
答案1
尝试一下。另外,在 /etc/apache2/*.conf 或 vhost 配置中grep -i php
还有什么吗?AddHandler php5-script .php
答案2
我遇到了同样的问题,但这是因为 CentOS(我认为是 RHEL)默认情况下无法识别短标签...
<?
但需要长标签...
<?php
在 PHP 代码块的开头。
在 php.ini(可能是 /etc/php.ini)中查找“short_open_tag = off”。将其更改为“short_open_tag = on”,然后重新启动 Apache 以允许使用短标记。
答案3
确保您的处理程序看起来像第一个回复,并确保它位于 mod_mime 之后 -这很可能是处理程序问题:
LoadModule mime_module modules/mod_mime.so
需要 Mod_mime 才能实际使用处理程序。如果找不到 mime.types(上述模块的依赖项),您会收到警告,但您可以执行find / -name mime.types
此操作并将此文件复制到 /etc/httpd/conf/ 目录中。
http://httpd.apache.org/docs/2.0/mod/mod_mime.html 您可以通过设置此 TypesConfig 目录来确保它在正确的位置查找 MIME 类型: http://httpd.apache.org/docs/2.0/mod/mod_mime.html#typesconfig
您还可以查看添加以下几行是否有效果:
AddType application/x-httpd-php .php
AddHandler application/x-httpd-php .php
(类型对于客户端请求更为重要。)
一个简单的测试,可以查看您的 PHP 是否大部分都使用默认设置,方法是转到服务器上不存在的页面,从而生成 404 错误。它应该在底部告诉您类似以下内容的内容
未找到
该服务器上未找到所请求的 URL /test。
此外,尝试使用 ErrorDocument 处理请求时遇到 404 Not Found 错误。
Apache/2.2.14 (Unix) mod_ssl/2.2.14 OpenSSL/0.9.8e-fips-rhel5 PHP/5.2.11
请注意此列表中的 PHP/5.2.11....