Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP代码未在浏览器中显示的代码中执行_Php_Apache - Fatal编程技术网

PHP代码未在浏览器中显示的代码中执行

PHP代码未在浏览器中显示的代码中执行,php,apache,Php,Apache,我试图在一个项目上执行一些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已正确安装和运行。这听起来可能很傻,但你永远不会知道。一种简单的检查方法是从命令行运行
    php-v
    ,查看是否返回版本信息或任何错误

  • 确保PHP模块在Apache的httpd.conf中列出且未注释,这应该类似于文件中的加载模块php5_module“c:/PHP/php5apache2_2.dll”。搜索
    LoadModule php
    ,确保前面没有注释(

  • 确保Apache的httpd.conf文件中包含PHP MIME类型。这应该类似于
    AddType应用程序/x-httpd-php.php
    。这告诉Apache以php的形式运行
    .php
    文件。搜索AddType,然后确保有一个PHP条目,,并且该条目未注释

  • 确保您的文件具有
    .php
    扩展名,或第3点MIME定义中指定的任何扩展名,否则它将不会作为php执行


  • 确保您没有在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