为什么我的php文件显示为纯文本?

时间:2010-08-24 10:56:44

标签: php apache

我一直在使用php编写php应用程序一段时间。现在我正在安装PHP& apache分别在我的工作PC上。我已经安装了PHP 5和最新的apache。我去localhost看看它有效!现在我添加一个名为test.php的文件,显示:

<?php 
    phpinfo();
?>

但在浏览器中它只显示纯文本。有没有我明确告诉它使用PHP5的地方?

非常感谢

7 个答案:

答案 0 :(得分:72)

你应该为apache安装php5 lib

对于debian和ubuntu: apt-get install libapache2-mod-php5

并重启apache service apache2 restart

答案 1 :(得分:71)

您需要将其添加到您的服务器配置中:

AddType application/x-httpd-php .php

假设您已经正确安装了php,这可能不是这种情况,因为它在安装后通常无法正常工作。

完全有可能你还需要使用LoadModule指令(通常在httpd.conf

将php so / dll添加到你的apache配置中

答案 2 :(得分:13)

您需要配置Apache(Web服务器)以PHP脚本的形式处理PHP脚本。检查Apache的配置,您需要加载模块(系统上的路径可能不同):

LoadModule php5_module "c:/php/php5apache.dll"

你还需要告诉Apache用PHP处理什么:

AddType application/x-httpd-php .php

See the documentation for more details.

答案 3 :(得分:12)

另一个原因(不是这种情况,但可能会为某些人节省一些神经)是在PHP 5.5中,短暂打开的标签<? phpinfo(); ?>默认是禁用的。所以php解释器会将短标签中的代码作为纯文本处理。在以前的版本中,php默认启用此功能。所以新行为可能有点神秘。

答案 4 :(得分:6)

你可能也像我一样,在安装Apache之前已经安装了php-cgi,当这样做时它没有正确设置Apache来运行PHP,完全删除PHP并重新安装似乎解决了我的问题。

答案 5 :(得分:4)

您需要在Apache中添加处理程序以处理php代码。

通过命令sudo vi /etc/httpd/conf/httpd.conf

进行编辑

添加这两个处理程序

  AddType application/x-httpd-php .php
  AddType application/x-httpd-php .php3

在下面指定的位置

<IfModule mime_module>

 AddType application/x-compress .Z
 AddType application/x-gzip .gz .tgz

--Add Here--


</IfModule>

有关AddType处理程序的更多详细信息

http://httpd.apache.org/docs/2.2/mod/mod_mime.html

答案 6 :(得分:3)

您使用的是userdir mod吗?

在这种情况下,问题是PHP5似乎默认禁用从该位置运行脚本,你必须注释掉以下几行:

<IfModule mod_userdir.c>
    <Directory /home/*/public_html>
        php_admin_flag engine Off
    </Directory>
</IfModule>

/etc/apache2/mods-enabled/php5.conf(在ubuntu系统上)