我试图在一个项目上执行一些PHP代码(使用Dreamweaver),但代码没有运行。

当我检查源代码时,PHP代码显示为HTML标记(我可以在源代码中看到它)。Apache运行正常(我正在使用XAMPP), PHP页面正在正常打开,但PHP代码没有被执行。

有人有什么建议吗?

注意:该文件已经命名为filename.php

编辑: 代码. .:

<?
include_once("/code/configs.php");
?>


当前回答

我知道这听起来很傻……但这种情况很少发生。

检查您是否试图从

**http://localhost/info.php**

而不是来自

file:///var/www/info.php

Ps >你可以注意到如果你从shell写

php info.php 

它回答的代码(它意味着PHP函数)..

其他回答

此问题的另一个可能原因可能是您试图在UserDir模块的“用户目录”中运行脚本。在用户目录下运行PHP脚本默认是禁用的。如果脚本位于主文件夹的public_html目录中,并且您试图从http://localhost/~your_username访问它,那么就会遇到这个问题。

要解决这个问题,打开/etc/apache2/mods-enabled/php7.2.conf。必须注释或删除底部的标记块

<IfModule mod_userdir.c>
    <Directory /home/*/public_html>
        php_admin_flag engine Off
    </Directory>
</IfModule>

在我的情况下(Apache/2.4.34),

在取消特定模块的注释之后

其它选项:

from

“/etc/apache2/httpd.conf”

我的问题消失了。

对于运行php 7的LAMP的新设置 编辑/etc/httpd/conf/httpd.conf文件 注意:在更改任何内容之前,请确保对其进行备份。

把这个粘贴在文件的最底部:

<IfModule php7_module>
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
<IfModule dir_module>
    DirectoryIndex index.html index.php
</IfModule>

然后,搜索LoadModule并粘贴以下行:

LoadModule php7_module modules/libphp7.so

这一行将简单地要求httpd加载php 7模块

然后重启httpd

我知道这听起来很傻……但这种情况很少发生。

检查您是否试图从

**http://localhost/info.php**

而不是来自

file:///var/www/info.php

Ps >你可以注意到如果你从shell写

php info.php 

它回答的代码(它意味着PHP函数)..

如果我们在同一页做下面

Sudo apt-get install PHP Sudo apt-get install php-{bcmath,bz2,intl,gd,mbstring,mysql,zip,fpm} -y

要在Apache2中启用PHP 7.2 FPM,请执行以下操作:

A2enmod proxy_fcgi SetenVIF

a2enconf php7.2-fpm

更新2:Apache下载。php文件而不是渲染

在那之后,我遇到了上面的问题。还有类似的问题。

我不知道为什么,但它只发生在我的。php文件在/var/www/html/根文件夹。对于子目录来说一切正常。(例如wordpress和phpmyadmin工作得很好)

这就是我的解。我决定启用php模块。所以我运行了这个命令:

a2enmod php7.2

但我得到了这个错误:

考虑php7.2依赖mpm_prefork: 考虑mpm_prefork的冲突mpm_event: 错误:mpm_event模块已启用-由于冲突无法继续。它首先需要被禁用! 考虑mpm_prefork的冲突mpm_worker: 无法为php7.2启用依赖mpm_prefork,终止

所以我决定通过运行以下命令禁用mpm:

sudo a2dismod mpm_prefork
sudo a2dismod mpm_worker
sudo a2dismod mpm_event

然后重启apache:

Systemctl restart apache2

然后启用php7.2(我安装的版本):

Sudo a2enmod php7.2

现在一切都很好。