确保Apache的httpd.conf文件中包含PHP MIME类型 . 这应该像 AddType application/x-httpd-php .php . 这告诉Apache将 .php 文件作为PHP运行 . 搜索AddType,然后确保有一个PHP条目 and that it is uncommented .
我'm posting this answer because my Virtualmin/Webmin admin interface decided it was a good idea to disable my PHP engine.. took me a while to find the solution, so I thought I'与你们分享:
Oh God! I just saw your posted image again, you're just opening your php file into browser. you have open is using localhost url. if you open a file directly from your directory it will not execute the php code in any case.
use: http://locahost/index.php or http:127.0.0.1/index.php
24 回答
在我的情况下(Apache / 2.4.34),
取消注释特定模块后
从
我的问题消失了 .
听起来您的配置有问题,以下是您可以检查的一些事项:
确保PHP已正确安装并运行 . 这可能听起来很傻,但你永远不会知道 . 一种简单的检查方法是从命令行运行
php -v
,看看是否返回版本信息或任何错误 .确保在Apache的httpd.conf中列出了PHP模块 and uncommented 这应该类似于文件中的
LoadModule php5_module "c:/php/php5apache2_2.dll"
. 搜索LoadModule php
,并确保其前面没有注释(;
) .确保Apache的httpd.conf文件中包含PHP MIME类型 . 这应该像
AddType application/x-httpd-php .php
. 这告诉Apache将.php
文件作为PHP运行 . 搜索AddType,然后确保有一个PHP条目 and that it is uncommented .确保您的文件上有
.php
扩展名,或者在第3点的MIME定义中指定的扩展名,否则它将不会以PHP身份执行 .确保您没有在PHP文件(
<?
)中使用short tags,默认情况下并未在所有服务器上启用它们,因此不鼓励使用它们 . 改为使用<?php
(如果你有依赖它们的代码,则使用enable short tags in your php.ini和short_open_tag=On
) .确保使用
http://localhost/file.php
之类的URL通过网络服务器访问文件,而不是通过本地文件访问file://localhost/www/file.php
最后检查PHP manual for further setup tips .
php7:
我在Ubuntu上运行Apache,我的问题是
/etc/apache2/mods-available/php5.conf
文件丢失了:我把它添加回来,php正确解析php文件 .
注意php 7用户,将其添加到httpd.conf文件中:
我发现另一个问题导致了这个问题并且已经解决了 . 我意外地以
UTF-16
编码保存了我的脚本 . 似乎PHP5默认情况下无法识别16位编码中的<?php
标记 .我'm posting this answer because my Virtualmin/Webmin admin interface decided it was a good idea to disable my PHP engine.. took me a while to find the solution, so I thought I'与你们分享:
此外,请务必检查与此特定主机或虚拟主机相关的任何网站配置文件都没有关闭PHP的任何php_admin_value,如下所示:
如有疑问,请评论......
并重新启动您的网络服务器
Oh God! I just saw your posted image again, you're just opening your php file into browser. you have open is using localhost url. if you open a file directly from your directory it will not execute the php code in any case.
use: http://locahost/index.php or http:127.0.0.1/index.php
在你的情况下启用php短代码,你正在使用
<?
这是<?php
的php短代码默认情况下,php短代码被禁用 .
如果您是ubuntu用户,也可以使用:
sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt
.我知道它应该听起来很傻......但很少发生 .
检查您是否尝试执行php
而不是来自
ps>你可以注意到,如果你从shell写
它用代码回答(这意味着php函数)..
我通过卸载XAMPP并安装WAMP解决了这个问题 . 谢谢您的帮助 .
这只是发生在我身上,连同服务器下载html文件,而不是处理 . 我没有在计算机上使用webserver apache一段时间,同时Ubuntu更新了原来安装的LTS的两个版本 . 现在它是
所以php就像这样工作:
网络服务器现在正在解析php . 也许现在需要更新一些网站,因为php7.0现在运行在运行php5之前 . 那好吧 .
我有类似的问题但在我的情况下解决方案是不同的 . 我的文件,持有PHP代码被称为 "somename.html" 改为 "somename.php" 工作正常
在我的ubuntu 14.04,apache 2.4,php 5.5.9安装,我尝试使用/ var / www / html(默认文档root)上的sample.php,它运行正常 . 所以问题出在我的虚拟服务器配置上 . 解决方案是在包含.php的Directory def中包含以下行:
使用以下命令检查为 php 安装的所有软件包:
在您的计算机上安装所有相关的 php 软件包,尤其是 php-devel .
这是在我的.htaccess中
index.html包含PHP代码 . 默认情况下,PHP不会处理像htm *这样的扩展名为PHP代码的文件 .
您可以通过将以下内容添加到.htaccess来覆盖它:
对于运行php 7的LAMP的全新设置,编辑文件/etc/httpd/conf/httpd.conf注意:确保在更改任何内容之前为其进行备份 .
将其粘贴到文件的最底部:
然后,搜索LoadModule并粘贴以下行:
这行只会让httpd加载php 7模块
然后重启的httpd
我在High Sierra(OS X 10.13.5)附带的php 7.1上遇到了这个问题,编辑了
/etc/apache2/httpd.conf
以及以下更改:我认为它显示代码而不是结果的问题是它不会转到本地主机 . 重新检查你要进入的地址 . 你要去本地文件目录还是本地主机 .
从您发送的屏幕截图中,它将是您的计算机而不是本地主机 .
“file:///”它应该是“localhost /”
重新安装
mcrypt
模块对我有用 .我有一个案例,我不小心开始在root中解开我的文件目录 . 它从我的文件夹中添加了.htaccess文件,可以阻止所有的php
底线检查root上的.htaccess文件 .
如果你有这样的配置:
取消注释httpd.conf中的下一行
这个对我有用
如果您使用的是Apache 2.4,请将
AddType application/x-httpd-php .php
添加到httpd.conf文件中确保脚本包含
在应该执行的代码之前 . 此处
<?
和php
之间不应有空格 .只花了几个小时试图获得 PHP 5 to run with Apache 2.4 on Windows 10 . 最后对我来说这是httpd.conf
LoadModule
中的拼写错误 . 通过last answer in this apachelounge thread of denny2018提请注意写入和确切的模块路径 . 谢谢!我有
LoadModule php5_module "c:/php/php5apache2.dll"
但 correct for apache 2.4 是:所以我之前也错过了
_4
(对于apache 2.4) . 完整的代码片段对我有用:刚试过 PHP 7 . httpd.conf中的
LoadModule
行用于Apache 2.4读取目前php manual shows up
c:/php/php5apache2.dll
当然需要调整 .