我试图在一个项目上执行一些PHP代码(使用Dreamweaver),但代码没有运行。
当我检查源代码时,PHP代码显示为HTML标记(我可以在源代码中看到它)。Apache运行正常(我正在使用XAMPP), PHP页面正在正常打开,但PHP代码没有被执行。
有人有什么建议吗?
注意:该文件已经命名为filename.php
编辑: 代码. .:
<?
include_once("/code/configs.php");
?>
我试图在一个项目上执行一些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
其他回答
这是我的。htaccess
DirectoryIndex index.html index.htm
index.html包含PHP代码。默认情况下,PHP不会将扩展名为htm*的文件作为PHP代码处理。
你可以通过在.htaccess中添加以下内容来覆盖它:
<FilesMatch ".+\.html$">
SetHandler application/x-httpd-php
</FilesMatch>
PHP 8, Centos 7, Apache 2, Remi Repo
我最近升级了centos服务器以使用php 8。
升级后,php已经停止工作,apache开始为我提供php代码作为文本。
在花了很长时间寻找哪个配置设置没有更新之后,我找到了这个:
在/etc/httpd/conf.d
<IfModule mod_php7.c>
需要更改为:
<IfModule mod_php.c>
还有其他地方,你可能会看到mod_php7检查,可能会更新到mod_php变体,但这一个肯定为我修复了它。
之后不要忘记重新启动服务器。
如果你有这样的配置:
<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
这对我很有用
如果你使用Apache 2.4,在httpd.conf文件中添加AddType application/x-httpd-php .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>