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

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

有人有什么建议吗?

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

编辑: 代码. .:

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


当前回答

在尝试了以上所有方法都没有效果之后,考虑重新启动你的电脑。解决了我的。

其他回答

尝试重新启动apache服务器。这就是我犯的错误——在安装php后忘记重新启动服务器!

service httpd restart

这是我的。htaccess

DirectoryIndex index.html index.htm

index.html包含PHP代码。默认情况下,PHP不会将扩展名为htm*的文件作为PHP代码处理。

你可以通过在.htaccess中添加以下内容来覆盖它:

<FilesMatch ".+\.html$">
    SetHandler application/x-httpd-php
</FilesMatch>

确保脚本包含

<?php

在应该执行的代码之前。<?之间不能有空格这里是PHP。

你只是把php文件打开到浏览器。你必须使用localhost url打开它。如果您直接从目录中打开一个文件,在任何情况下它都不会执行PHP代码。

使用:http://locahost/index.php或http:127.0.0.1/index.php

启用php短代码。在本例中,您使用<?这是<? PHP的PHP短代码。默认情况下,php短代码是禁用的。

如果你是ubuntu用户,也可以使用:sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt。

刚刚花了几个小时试图让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,当然需要调整。