我试图在一个项目上执行一些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");
?>
当前回答
我发布这个答案是因为我的Virtualmin/Webmin管理界面决定禁用我的PHP引擎是一个好主意。我花了一段时间才找到解决方案,所以我想和你们分享一下:
同时,确保你的网站配置文件中没有任何与这个特定主机或虚拟主机相关的php_admin_value在它们中关闭PHP,就像这样:
php_admin_value engine Off
有疑问的时候,评论一下…
# php_admin_value engine Off
并重新启动您的web服务器。
其他回答
听起来你的配置好像有问题,下面是一些你可以检查的东西:
Make sure that PHP is installed and running correctly. This may sound silly, but you never know. An easy way to check is to run php -v from a command line and see if returns version information or any errors. Make sure that the PHP module is listed and uncommented inside of your Apache's httpd.conf This should be something like LoadModule php5_module "c:/php/php5apache2_2.dll" in the file. Search for LoadModule php, and make sure that there is no comment (;) in front of it. Make sure that Apache's httpd.conf file has the PHP MIME type in it. This should be something like AddType application/x-httpd-php .php. This tells Apache to run .php files as PHP. Search for AddType, and then make sure there is an entry for PHP, and that it is uncommented. Make sure your file has the .php extension on it, or whichever extension specified in the MIME definition in point #3, otherwise it will not be executed as PHP. Make sure you are not using short tags in the PHP file (<?), these are not enabled on all servers by default and their use is discouraged. Use <?php instead (or enable short tags in your php.ini with short_open_tag=On if you have code that relies on them). Make sure you are accessing your file over your webserver using an URL like http://localhost/file.php not via local file access file://localhost/www/file.php
最后,查看PHP手册以获得更多的设置技巧。
尝试重新启动apache服务器。这就是我犯的错误——在安装php后忘记重新启动服务器!
service httpd restart
此问题的另一个可能原因可能是您试图在UserDir模块的“用户目录”中运行脚本。在用户目录下运行PHP脚本默认是禁用的。如果脚本位于主文件夹的public_html目录中,并且您试图从http://localhost/~your_username访问它,那么就会遇到这个问题。
要解决这个问题,打开/etc/apache2/mods-enabled/php7.2.conf。必须注释或删除底部的标记块
<IfModule mod_userdir.c>
<Directory /home/*/public_html>
php_admin_flag engine Off
</Directory>
</IfModule>
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变体,但这一个肯定为我修复了它。
之后不要忘记重新启动服务器。
在尝试了所有方法之后,我想出了这个解决方案
当默认情况下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。