为什么我的PHP文件显示为纯文本?
我一直在用wamp编写php应用程序。 现在我在工作PC上分别安装PHP和apache。 我已经安装了PHP 5和最新的Apache。 我去localhost,看看它的作品! 现在我添加一个名为test.php的文件,其中显示:
<?php phpinfo(); ?>
但在浏览器中它只是显示纯文本。 有什么地方我明确告诉它使用PHP5?
非常感谢
您需要将其添加到您的服务器configuration中:
AddType application/x-httpd-php .php
这是假设你已经安装了正确的PHP,可能并非如此,因为它不能正常工作后立即安装。
完全有可能你还必须使用LoadModule
指令(通常在httpd.conf
)将php so / dll添加到你的apacheconfiguration中,
你应该为apache安装php5 lib
对于debian和ubuntu: apt-get install libapache2-mod-php5
并重新启动apache service apache2 restart
还有另外一个原因(不是这种情况,但也许会为别人省下一些麻烦)是在php 5.5中打开短标签<? phpinfo(); ?>
<? phpinfo(); ?>
<? phpinfo(); ?>
默认是禁用的。 所以PHP解释器会将短代码内的代码作为纯文本进行处理。 在以前的版本中,这个function默认是启用的。 所以新的行为可能有点神秘。
您需要configurationApache(networking服务器)来将PHP脚本处理为PHP。 检查Apache的configuration,你需要加载模块(你的系统上的path可能不同):
LoadModule php5_module "c:/php/php5apache.dll"
而且您还需要告诉Apache如何使用PHP进行处理:
AddType application/x-httpd-php .php
请参阅文档了解更多详情。
您可能也像我一样,在安装Apache之前安装了php-cgi,并且在这样做的时候不会正确设置Apache来运行PHP,完全删除PHP并重新安装似乎解决了我的问题。
您将需要在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处理程序的更多详细信息
你使用的是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系统上)