PHP代码未在浏览器中显示的代码中执行
我试图在一个项目上执行一些PHP代码(使用Dreamweaver),但代码没有运行 当我检查源代码时,PHP代码显示为HTML标记(我可以在源代码中看到)。Apache运行正常(我正在使用XAMPP),PHP页面打开正常,但PHP代码没有执行 有人对正在发生的事情有什么建议吗 注意:该文件已命名为PHP代码未在浏览器中显示的代码中执行,php,apache,Php,Apache,我试图在一个项目上执行一些PHP代码(使用Dreamweaver),但代码没有运行 当我检查源代码时,PHP代码显示为HTML标记(我可以在源代码中看到)。Apache运行正常(我正在使用XAMPP),PHP页面打开正常,但PHP代码没有执行 有人对正在发生的事情有什么建议吗 注意:该文件已命名为filename.php 编辑: 代码..: <? include_once("/code/configs.php"); ?> 听起来您的配置有问题,以下是一些您可以检查的事项: 确保
filename.php
编辑:
代码..:
<?
include_once("/code/configs.php");
?>
听起来您的配置有问题,以下是一些您可以检查的事项:
php-v
,查看是否返回版本信息或任何错误LoadModule php
,确保前面没有注释(;
)AddType应用程序/x-httpd-php.php
。这告诉Apache以php的形式运行.php
文件。搜索AddType,然后确保有一个PHP条目,,并且该条目未注释.php
扩展名,或第3点MIME定义中指定的任何扩展名,否则它将不会作为php执行我通过卸载XAMPP并安装WAMP解决了这个问题。
感谢您的帮助。我在Ubuntu上运行Apache,我的问题是/etc/apache2/mods available/php5.conf
文件缺少以下内容:
<FilesMatch ".+\.ph(p[345]?|t|tml)$">
SetHandler application/x-httpd-php
</FilesMatch>
SetHandler应用程序/x-httpd-php
我重新添加了它,php正确地解析了php文件。我发现了导致此问题的另一个问题,并且已经解决了它。我不小心将脚本保存在了UTF-16
编码中。PHP5似乎无法识别我发布此答案,因为我的Virtualmin/Webmin管理界面决定禁用它是一个好主意我的PHP引擎..花了我一段时间才找到解决方案,所以我想与大家分享一下:
此外,请确保检查与此特定主机或virtualhost相关的网站配置文件中是否没有任何关闭php的php_admin_值,如下所示:
php_admin_value engine Off
如果有疑问,请发表评论
# php_admin_value engine Off
然后重新启动您的Web服务器。使用以下方法检查您为php安装的所有软件包:
yum list installed | grep remi
在您的计算机上安装所有相关的php软件包,尤其是php-devel。我知道这听起来很傻……但很少发生
检查您是否正在尝试从执行php
**http://localhost/info.php**
而不是来自
file:///var/www/info.php
ps>您可以注意到,如果您从shell编写
php info.php
它的答案是代码(它意味着php函数)我也有类似的问题,但我的解决方案不同。
我保存php代码的文件名为“somename.html”
在我的ubuntu 14.04、Apache2.4、PHP5.5.9安装中,将其更改为“somename.php”运行良好,我在/var/www/html(默认文档根目录)上尝试了sample.php,效果良好。
所以问题出在我的虚拟服务器配置上。
解决方案是在包含.php的目录def中包含以下行:
php_admin_flag engine on
我认为它显示代码而不是结果的问题在于它不会发送到本地主机。请重新检查要发送的地址。您是发送到本地文件目录还是发送到本地主机
从您发送的屏幕截图来看,它将发送到您的计算机,而不是本地主机
“file:///”应该是“localhost/”这又发生在我身上了,服务器下载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。可能现在需要更新一些Web,因为php7.0现在在运行php5之前在何处运行。哦,好吧。对于php7用户,请将此添加到httpd.conf文件中:
# PHP 7 specific configuration
<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>
</IfModule>
#PHP7特定配置
AddType应用程序/x-httpd-php.php
AddType应用程序/x-httpd-php-source.phps
DirectoryIndex.html index.php
重新安装mcrypt
模块对我很有效
$sudo apt-get install php5-mcrypt
$sudo php5enmod mcrypt
sudo apt-get install libapache2-mod-php7.3
sudo service apache2 restart
我有一个例子,我不小心开始在根目录中卸载我的文件目录。它从我的文件文件夹中添加了.htaccess文件,这将阻止所有php
# If we know how to do it safely, disable the PHP engine entirely.
<IfModule mod_php5.c>
php_flag engine off
</IfModule>
#如果我们知道如何安全地执行,请完全禁用PHP引擎。
php_标志引擎关闭
底线检查根目录下的.htaccess文件。这是我的.htaccess文件
DirectoryIndex index.html index.htm
index.html包含PHP代码。默认情况下,PHP不会将扩展名为htm*的文件作为PHP代码处理
您可以通过将以下内容添加到.htaccess来覆盖此内容:
<FilesMatch ".+\.html$">
SetHandler application/x-httpd-php
</FilesMatch>
SetHandler应用程序/x-httpd-php
您只是在浏览器中打开php文件。您必须使用localhost url打开它。如果您直接从目录中打开文件,它在任何情况下都不会执行php代码
使用:http://locahost/index.php
或http:127.0.0.1/index.php
启用php短代码。在您的情况下,您使用的是php7:
sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php7.0-fpm
sudo service apache2 restart
用于运行PHP7的LAMP的新设置
编辑文件/etc/httpd/conf/httpd.conf
注意:在更改任何内容之前,请确保对其进行备份
把这个贴在
LoadModule php7_module modules/libphp7.so
<VirtualHost *:80>
ServerName example.com
DocumentRoot "/var/www/example.com"
<FilesMatch "\.php$">
SetHandler "proxy:fcgi://127.0.0.1:9000"
</FilesMatch>
</VirtualHost>
LoadModule proxy_module lib/httpd/modules/mod_proxy.so
LoadModule proxy_fcgi_module lib/httpd/modules/mod_proxy_fcgi.so
<?php
LoadModule php7_module libexec/apache2/libphp7.so
<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>
</IfModule>
LoadModule php5_module "C:/php/php5apache2_4.dll"
# PHP
LoadModule php5_module "C:/php/php5apache2_4.dll"
AddHandler application/x-httpd-php .php
<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>
LoadModule php7_module "C:/php/php7apache2_4.dll"
service httpd restart
sudo apt-get install libapache2-mod-php7.3
sudo service apache2 restart
apt-get update -y
apt-get install apache2 php7.0 libapache2-mod-php -y
sudo service apache2 restart