我一直在使用php编写php应用程序一段时间。现在我正在安装PHP& apache分别在我的工作PC上。我已经安装了PHP 5和最新的apache。我去localhost看看它有效!现在我添加一个名为test.php的文件,显示:
<?php
phpinfo();
?>
但在浏览器中它只显示纯文本。有没有我明确告诉它使用PHP5的地方?
非常感谢
答案 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
)
答案 2 :(得分:13)
您需要配置Apache(Web服务器)以PHP脚本的形式处理PHP脚本。检查Apache的配置,您需要加载模块(系统上的路径可能不同):
LoadModule php5_module "c:/php/php5apache.dll"
你还需要告诉Apache用PHP处理什么:
AddType application/x-httpd-php .php
答案 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系统上)