我试图在一个项目上执行一些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");
?>
当前回答
在尝试了所有方法之后,我想出了这个解决方案
当默认情况下PHP 7.0 FPM未启用时,将出现此错误。
要在Apache2中启用PHP 7.0 FPM,运行:
sudo 2enmod proxy_fcgi setenvif
sudo a2enconf php7.0-fpm
systemctl restart apache2
如果您使用的是php7.4,在上面的命令中输入7.4而不是7.0。
其他回答
这种情况又发生在我身上,服务器下载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之前的地方。哦。
这是我的。htaccess
DirectoryIndex index.html index.htm
index.html包含PHP代码。默认情况下,PHP不会将扩展名为htm*的文件作为PHP代码处理。
你可以通过在.htaccess中添加以下内容来覆盖它:
<FilesMatch ".+\.html$">
SetHandler application/x-httpd-php
</FilesMatch>
我在Ubuntu上运行Apache,我的问题是/etc/apache2/mods-available/php5.conf文件缺少这个:
<FilesMatch ".+\.ph(p[345]?|t|tml)$">
SetHandler application/x-httpd-php
</FilesMatch>
我把它添加回来,php正确地解析php文件。
尝试重新启动apache服务器。这就是我犯的错误——在安装php后忘记重新启动服务器!
service httpd restart
我发布这个答案是因为我的Virtualmin/Webmin管理界面决定禁用我的PHP引擎是一个好主意。我花了一段时间才找到解决方案,所以我想和你们分享一下:
同时,确保你的网站配置文件中没有任何与这个特定主机或虚拟主机相关的php_admin_value在它们中关闭PHP,就像这样:
php_admin_value engine Off
有疑问的时候,评论一下…
# php_admin_value engine Off
并重新启动您的web服务器。