我正在尝试在 Apache2 上运行 php7.4。出于某种原因,当我尝试在代码中运行任何 php 脚本时,它们都不会运行,并且显示的只是注释。
我的代码中的内容如下:
<?php
include("developers.php");
?>
然而,在浏览器中加载时,html 源代码显示的内容如下:
<!--?php
include("developers.php");
?--!>
我已经用多个不同的脚本测试过这个问题,所以我不认为这是 php 本身的问题。我还安装了 php7.4 以及 libapache2-mod-php7.4。我还在 apache2 中启用了 php7.4 模块。此外,我尝试了多种不同的.htaccess
配置apache2.conf
,包括添加
<FilesMatch "\.php$">
SetHandler application/x-httpd-php
</FilesMatch>
和
<FilesMatch "/.php$">
SetHandler application/x-httpd-php
</FilesMatch>
我注意到,当我不包含<FilesMatch>
标签时,php 代码将会运行,但是页面本身会中断,并且我页面上的 javascript 和 css 无法正常运行。
我还在以下部分注释掉了php7.4.conf
:
# Running PHP scripts in user directories is disabled by default
#
# 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_flag engine Off
# </Directory>
#</IfModule>
如果有帮助的话,我正在 Debian 11 上运行我的服务器。
谁能帮我这个?
注意:该问题最初出现在 StackOverflow 上,但是那里的一位用户告诉我将其重新发布到这里,因为它与 StackOverflow 无关。
也无 https://stackoverflow.com/questions/12828163/why-are-my-php-tags-converted-to-html-comments https://stackoverflow.com/questions/5121495/php-code-is-not-being-executed-but-the-code-shows-in-the-browser-source-code PHP 未在 apache2 中解析,php 模块已安装并启用 回答我的问题。
我也找到了其他几个类似问题的答案,由于现在无法找到所有链接,所以我不会在这里链接,但我找不到任何有用的东西。
答案1
遇到了类似的问题。PHP 在终端中可以工作,但 apache2 似乎无法解析它。重新安装了所有应用程序,但没有任何效果。
然后我看到了 apache2.conf 文件,其中写着
包括可选的 mods-enabled/*.conf
它正在从 mods-enabled 文件夹加载文件。当我执行 ls -l 时,我意识到有一个损坏的符号链接。取消链接并为已安装的 php 版本创建一个新的符号链接,然后一切又恢复正常。