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

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

有人有什么建议吗?

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

编辑: 代码. .:

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


当前回答

在我的ubuntu 14.04, apache 2.4, php 5.5.9安装,我尝试在/var/www/html(默认文档根)上使用sample.php,它工作正常。 所以问题出在我的虚拟服务器配置上。 解决方案是在包含.php的Directory def中包含这一行:

    php_admin_flag engine on

其他回答

在我的ubuntu 14.04, apache 2.4, php 5.5.9安装,我尝试在/var/www/html(默认文档根)上使用sample.php,它工作正常。 所以问题出在我的虚拟服务器配置上。 解决方案是在包含.php的Directory def中包含这一行:

    php_admin_flag engine on

我也遇到过类似的问题,但我的解决方法不同。 存放PHP代码的文件名为somename。html 把它改为" someename .php"工作得很好

注意,对于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>

检查你为php安装的所有包,使用:

yum list installed | grep remi

在你的机器上安装所有相关的php包,尤其是php-devel。

如果你有这样的配置:

<VirtualHost *:80>
    ServerName example.com
    DocumentRoot "/var/www/example.com"

    <FilesMatch "\.php$">
        SetHandler "proxy:fcgi://127.0.0.1:9000"
    </FilesMatch>
</VirtualHost>

取消httpd.conf中的下几行注释

LoadModule proxy_module lib/httpd/modules/mod_proxy.so
LoadModule proxy_fcgi_module lib/httpd/modules/mod_proxy_fcgi.so

这对我很有用