听起来你的configuration有问题,这里有几件事你可以检查:
确保PHP已经安装并正确运行。 这可能听起来很愚蠢,但你永远不知道。 一个简单的方法来检查是从命令行运行php -v ,看看是否返回版本信息或任何错误。
确保PHP模块在Apache的httpd.conf 文件中被列出和取消注释 。这应该与文件中的LoadModule php5_module "c:/php/php5apache2_2.dll"类似。 searchLoadModule php ,并确保它前面没有注释( ; )。
确保Apache的httpd.conf文件具有PHP MIMEtypes。 这应该是像AddType application/x-httpd-php .php 。 这告诉Apache以PHP运行.php文件。 searchAddType,然后确保有一个用于PHP的条目, 并且取消注释 。
确保你的文件具有.php扩展名,或者在#3的MIME定义中指定的任何扩展名,否则它将不会被执行为PHP。
确保你没有在PHP文件中使用短标签 ( ),默认情况下这些标签在所有的服务器上都没有启用,并且不鼓励使用它们。 使用<?php代替 (或者在你的php.ini中使用short_open_tag=On来启用短标签,如果你有代码依赖于它们的话)。
确保你通过你的networking服务器访问你的文件,使用像http://localhost/file.php这样的URL,而不是通过本地文件访问file://localhost/www/file.php
最后检查PHP手册以获取更多设置提示 。
我在Ubuntu上运行Apache,我的问题是/etc/apache2/mods-available/php5.conf文件丢失了:
SetHandler application/x-httpd-php
我加了回来,PHP正确parsingPHP文件。
我发现了另一个问题导致这个问题,并已经解决了。 我不小心将脚本保存为UTF-16编码。 看来,PHP5默认情况下不能识别16位编码的<?php标签 。
我发布这个答案是因为我的Virtualmin / Webminpipe理界面决定禁用我的PHP引擎是一个好主意..花了一段时间find解决scheme,所以我想我会分享给你们:
此外,一定要检查你的网站configuration文件没有关系到这个特定的主机或虚拟主机有任何php_admin_value的closuresPHP,像这样:
php_admin_value engine Off
如有疑问,请发表评论…
# php_admin_value engine Off
并重新启动您的networking服务器
注意php 7用户,把它添加到你的httpd.conf文件中:
# PHP 7 specific configuration AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps DirectoryIndex index.html index.php
天啊! 我刚刚看到你的张贴图像,你只是打开你的PHP文件到浏览器。 你已经打开使用本地主机的URL。 如果你直接从你的目录中打开一个文件,那么在任何情况下都不会执行php代码。
使用: http://locahost/index.php或http:127.0.0.1/index.php
在你的情况下启用PHP短代码,你正在使用 这是PHP的短代码<?php
默认情况下,PHP短代码被禁用。
也可以使用: sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt如果你是一个Ubuntu用户。
php7:
sudo a2enmod proxy_fcgi setenvif sudo a2enconf php7.0-fpm sudo service apache2 restart
我知道这听起来很愚蠢,但很less发生。
检查你是否试图执行PHP从
**http://localhost/info.php**
而不是从
file:///var/www/info.php
ps>你可以注意到,如果你从shell写入
php info.php
它与代码的答案(这意味着PHP的function)..
我已经通过卸载XAMPP和安装WAMP来解决这个问题。 谢谢您的帮助。
我有类似的问题,但在我的情况下解决scheme是不同的。 我的文件,持有PHP代码被称为“somename.html”更改为“somename.php”工作正常
检查你已经安装了所有使用PHP的软件包:yum list installed | grep remi
安装所有相关的PHP软件包,尤其是php-devel。
在我的Ubuntu 14.04,apache 2.4,php 5.5.9安装,我尝试了/ var / www / html(默认文档根)上的sample.php,它工作正常。 所以问题出在我的虚拟服务器configuration上。 解决方法是在包含.php的Directory def上包含这一行:
php_admin_flag engine on
这只是发生在我身上,随着服务器下载HTML文件,而不是处理。 我没有在电脑上使用networking服务器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
networking服务器现在parsingphp。 也许现在需要更新一些网站,因为现在运行php7.0运行php5之前。 好吧。
我认为它显示代码而不是结果的问题是它不会去本地主机。 重新检查你进入的地址。你是去本地文件目录还是去本地主机。
从截图你发送它是要你的电脑不到本地主机。
“file:///”应该是“localhost /”
重新安装mcrypt模块为我工作。
$sudo apt-get install php5-mcrypt $sudo php5enmod mcrypt
我有一个情况,我不小心开始在根目录下解压我的文件目录。 它从我的文件夹添加了.htaccess文件,将阻止所有的PHP
# If we know how to do it safely, disable the PHP engine entirely. php_flag engine off
底线检查根上的.htaccess文件。
这是在我的.htaccess
DirectoryIndex index.html index.htm
index.html包含PHP代码。 默认情况下,PHP不会像PHP代码那样处理扩展名为htm *的文件。
您可以通过将以下内容添加到.htaccess中来覆盖此内容:
SetHandler application/x-httpd-php
对于运行php 7的LAMP的全新设置,请编辑/etc/httpd/conf/httpd.conf文件注意:在更改任何内容之前,请确保对其进行备份。
将其粘贴在文件的最底部:
AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps DirectoryIndex index.html index.php
然后,searchLoadModule并粘贴以下行:
LoadModule php7_module modules/libphp7.so
这一行将简单地要求httpd加载php 7模块
然后重新启动httpd