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

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

有人有什么建议吗?

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

编辑: 代码. .:

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


当前回答

我发布这个答案是因为我的Virtualmin/Webmin管理界面决定禁用我的PHP引擎是一个好主意。我花了一段时间才找到解决方案,所以我想和你们分享一下:

同时,确保你的网站配置文件中没有任何与这个特定主机或虚拟主机相关的php_admin_value在它们中关闭PHP,就像这样:

php_admin_value engine Off

有疑问的时候,评论一下…

# php_admin_value engine Off

并重新启动您的web服务器。

其他回答

刚刚花了几个小时试图让PHP 5与Windows 10上的Apache 2.4一起运行。最后对我来说,这是httpd.conf LoadModule中的一个拼写错误。通过denny2018这个apachelounge线程的最后一个回答,提请注意写作和准确的模块路径。谢谢你!

过了两晚,我发现……我的目录是c:(小写)

我有LoadModule php5_module“c:/php/php5apache2.dll”,但正确的apache 2.4是:

LoadModule php5_module "C:/php/php5apache2_4.dll"

所以我之前也错过了_4(对于apache 2.4)。对我有用的完整片段:

# PHP
LoadModule php5_module "C:/php/php5apache2_4.dll"
AddHandler application/x-httpd-php .php
<FilesMatch \.php$>
    SetHandler application/x-httpd-php
</FilesMatch>

刚试过PHP 7。在Apache 2.4的httpd.conf中读取LoadModule行

LoadModule php7_module "C:/php/php7apache2_4.dll"

目前php手册显示c:/php/php5apache2.dll,当然需要调整。

我认为问题是,它显示的代码而不是结果是,它不会去本地主机。重新检查你要去的地址。是到本地文件目录还是到本地主机。

从你发送的屏幕截图,它将到你的计算机,而不是到本地主机。

"file:/// "应该是"localhost/"

使用Debian 10安装Apache + php7测试的最简单方法:

apt-get update -y
apt-get install apache2 php7.0 libapache2-mod-php  -y
sudo service apache2 restart

注意,对于PHP 7用户,添加到你的httpd.conf文件:

# PHP 7 specific configuration
<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>
</IfModule>

这种情况又发生在我身上,服务器下载html文件,而不是处理。我已经有一段时间没有在电脑上使用web服务器apache了,同时Ubuntu从最初安装的LTS更新了两个版本。现在是这样

$ cat /etc/issue
Ubuntu 16.04 LTS

php是这样工作的:

$ sudo apt-get install lamp-server^
$ sudo a2enmod php7.0
$ sudo service apache2 restart 

web服务器现在正在解析php。也许现在要更新一些网页,因为php7.0现在运行在php5之前的地方。哦。