我试图在一个项目上执行一些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代码的文件名为somename。html 把它改为" someename .php"工作得很好
其他回答
刚刚花了几个小时试图让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,当然需要调整。
我发现了另一个导致这个问题的问题,并且已经解决了它。我不小心将脚本保存为UTF-16编码。PHP5似乎不能识别<?PHP标签默认为16位编码。
在我的情况下,php模块没有加载。试试这个:
检查加载了哪些模块:apache2ctl -M。查找类似php7_module (shared)的模块 如果没有列出php模块,则尝试加载与您的php版本对应的模块。在我的例子中,php包是libapache2-mod-php7.3。所以我这样做了:a2enmod php7.3,问题就解决了。
如果我们在同一页做下面
Sudo apt-get install PHP Sudo apt-get install php-{bcmath,bz2,intl,gd,mbstring,mysql,zip,fpm} -y
要在Apache2中启用PHP 7.2 FPM,请执行以下操作:
A2enmod proxy_fcgi SetenVIF
a2enconf php7.2-fpm
更新2:Apache下载。php文件而不是渲染
在那之后,我遇到了上面的问题。还有类似的问题。
我不知道为什么,但它只发生在我的。php文件在/var/www/html/根文件夹。对于子目录来说一切正常。(例如wordpress和phpmyadmin工作得很好)
这就是我的解。我决定启用php模块。所以我运行了这个命令:
a2enmod php7.2
但我得到了这个错误:
考虑php7.2依赖mpm_prefork: 考虑mpm_prefork的冲突mpm_event: 错误:mpm_event模块已启用-由于冲突无法继续。它首先需要被禁用! 考虑mpm_prefork的冲突mpm_worker: 无法为php7.2启用依赖mpm_prefork,终止
所以我决定通过运行以下命令禁用mpm:
sudo a2dismod mpm_prefork
sudo a2dismod mpm_worker
sudo a2dismod mpm_event
然后重启apache:
Systemctl restart apache2
然后启用php7.2(我安装的版本):
Sudo a2enmod php7.2
现在一切都很好。
对于运行php 7的LAMP的新设置 编辑/etc/httpd/conf/httpd.conf文件 注意:在更改任何内容之前,请确保对其进行备份。
把这个粘贴在文件的最底部:
<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>
然后,搜索LoadModule并粘贴以下行:
LoadModule php7_module modules/libphp7.so
这一行将简单地要求httpd加载php 7模块
然后重启httpd