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