朋友的灯主机似乎配置错误。我尝试执行php,但它似乎没有工作。
在Chrome的inspect元素中:
<?php echo 'test'; ?>
成为:
<!--?php echo 'test'; ?-->
此外,它一直在触发文件下载,而不是将其作为网页打开。
我在.htaccess
文件中尝试了各种代码,但似乎没有任何影响:
AddType x-mapp-php5 .php
AddType application/x-httpd-php .php
AddHandler x-mapp-php5 .php
正确配置PHP操作的地方是httpd.conf
文件,它位于Apache安装目录的conf
子目录中。
在那里,你会想要寻找模块加载部分,它将是一系列以LoadModule
开头的行。在那里的某个地方,你应该有以下(或类似的东西):
LoadModule php5_module "location\of\your\php\installation"
AddType application/x-httpd-php .php
PHPIniDir "location\of\your\php\configuration\file"
我不太熟悉Linux,但在Windows(WAMP)安装中,这些将是:
LoadModule php5_module "c:/program files/php/php5apache2.dll"
AddType application/x-httpd-php .php
PHPIniDir "C:/program files/php"
我的机器上的httpd.conf
文件位于C:\Program Files\Apache Group\Apache2\conf\httpd.conf
。
也可能是您的计算机上根本没有安装PHP,在这种情况下,您必须下载并安装它。布拉德已经在他的一条评论中发布了相关链接(顺便说一句,顺便说一句,布拉德),但是为了让一切都在一个地方:
看来你必须明确指示apache将html文件作为php文件处理,我遇到了同样的问题但是将文件重命名为.php为我解决了这个问题。
在Ubuntu系统上,安装apache php5插件对我有用:
sudo apt-get install libapache2-mod-php5
sudo service apache2 restart
我有时会遇到同样的问题,可能你文件的扩展名是“html”。将其更改为“php”,它就可以了。
你的Chrome对你说谎。
您的PHP源文件是<?php echo 'test'; ?>
。由于未执行PHP,因此将此文件发送到浏览器。如果浏览器应该解释这个文本,它将偶然发现<?
?>
标记。它们有一个含义 - 它们是“XML处理指令”,而打开角度后的文本定义了目标。
显然,浏览器不知道名为“PHP”的目标,因此忽略此文本。
然后元素检查器尝试显示DOM并且对原始源代码撒谎,因为他正在处理PARSED源 - 这很好,因为您通常想知道浏览器所处理的数据,这包括浏览器的方式解释你的来源。
但是,如果您出现任何错误,浏览器将尝试修复它,并且修复程序包含在元素检查器中。
显然,对未知XML处理指令的修复是通过将其注释掉来禁用它。
这恰好发生在我身上。原来我忘记将文件类型从.html更改为.php
听我说您的PHP未正确配置或安装在灯泡配置中。你使用什么发行版?它可能就像运行重新安装PHP的命令一样简单,否则您可能需要使用php支持编译apache。
如果您将代码放在标准目录之外(在我的情况下是开发方案),您应该在php5.conf中检查/ etc / apache2 / mod-enabled或/ etc / apache2 / mod-available(对于ubuntu)和评论评论指出的行:
# To re-enable PHP in user directories comment the following lines
# (from <IfModule ...> to </IfModule>.) Do NOT set it to On as it
# prevents .htaccess files from disabling it.
<IfModule mod_userdir.c>
<Directory /home/*/public_html>
php_admin_value engine Off
</Directory>
</IfModule>
这个答案不适用于OP这个问题的具体变体,但我有基本相同的问题 - <? var_dump($test); ?>
被转换为<!--? var_dump($test); ?-->
- 我可以通过在short_open_tag
启用php.ini来解决。
听起来你正在使用一个改变你输入内容的编辑器。确保文件中的内容与文件中的内容完全相同。使用FTP上传php文件应该确保这一点。
当我不小心尝试通过file://
协议在服务器上的浏览器中测试本地php文件时,我遇到了完全相同的问题,而不是通过安装的站点。
所以答案是:“PHP先生离开了大楼”。我们需要检查文件的配置,位置或访问。
浏览器只是试图修复网页并帮助我们。
我刚刚解决了同样的问题。您需要从WAMP打开文件,而不是从硬盘驱动器中打开文件。
在您的浏览器中,输入:localhost/...../yourfile.php
否则,您的浏览器将用<?php ?>
替换所有<!-- ?php ?-->