为什么我的php标签转换为html评论?

Zac*_*bey 7 php apache .htaccess lamp configuration

朋友的灯主机似乎配置错​​误.我尝试执行php,但它似乎没有工作.

在Chrome的inspect元素中:

<?php echo 'test'; ?> 
Run Code Online (Sandbox Code Playgroud)

成为:

<!--?php echo 'test'; ?-->
Run Code Online (Sandbox Code Playgroud)

此外,它一直在触发文件下载,而不是将其作为网页打开.

我在.htaccess文件中尝试了各种代码,但似乎没有任何影响:

AddType x-mapp-php5 .php
AddType application/x-httpd-php .php
AddHandler x-mapp-php5 .php
Run Code Online (Sandbox Code Playgroud)

Joã*_*des 8

正确配置PHP操作的位置是httpd.conf文件,它位于confApache安装目录的子目录中.

在那里,你会想要寻找模块加载部分,它将是一堆开头的行LoadModule.在那里的某个地方,你应该有以下(或类似的东西):

LoadModule php5_module "location\of\your\php\installation"
AddType application/x-httpd-php .php
PHPIniDir "location\of\your\php\configuration\file"
Run Code Online (Sandbox Code Playgroud)

我不太熟悉Linux,但在Windows(WAMP)安装中,这些将是:

LoadModule php5_module "c:/program files/php/php5apache2.dll"
AddType application/x-httpd-php .php
PHPIniDir "C:/program files/php"
Run Code Online (Sandbox Code Playgroud)

httpd.conf我的机器上的文件是C:\Program Files\Apache Group\Apache2\conf\httpd.conf.

也可能是您的计算机上根本没有安装PHP,在这种情况下,您必须下载并安装它.布拉德已经在他的一条评论中发布了相关链接(顺便说一句,顺便说一句,布拉德),但为了让一切都在一个地方:

PHP:安装和配置 - 手动


小智 6

这只是发生在我身上。原来我忘记将文件类型从 .html 更改为 .php


Sve*_*ven 5

您的Chrome骗了您。

您的PHP源文件为<?php echo 'test'; ?>。由于未执行PHP,因此会将此文件发送到浏览器。如果浏览器应解释此文本,它将偶然发现这些<? ?>标记。它们具有含义-它们是“ XML处理指令”,并且在打开角度之后的文本定义了目标。

显然,浏览器不知道名为“ PHP”的目标,因此将忽略此文本。

然后元素检查器试图显示DOM并在原始源代码中说谎,因为他正在处理PARSED源-这很棒,因为您通常想知道浏览器对哪些数据进行操作,这包括浏览器如何工作解释了您的来源。

但是,如果发生任何错误,浏览器将尝试对其进行修复,而该修复程序将包含在元素检查器中。

显然,未知XML处理指令的解决方法是通过注释掉它来禁用它。