【问题标题】:PHP errors NOT being displayed in the browser [Ubuntu 10.10]PHP 错误未显示在浏览器中 [Ubuntu 10.10]
【发布时间】:2011-06-30 08:13:00
【问题描述】:

我是 PHP 和整个 LAMP 堆栈的新手,但我已经设法在我的 Ubuntu 10.10 系统上启动并运行它。一切似乎都在工作,除了在浏览器中重新发布错误,我似乎无法正常工作(而且我不能没有它!)。

我已经阅读了许多文章和其他线程,它们表明应该在文件/etc/php5/apache2/php.ini 中应用以下值:

  • display_errors = On
  • display_startup_errors = On

我已经重新启动了 apache2,甚至重新启动了我的计算机,但对于我来说,我就是无法让它工作。我什至尝试过使用phpinfo() 函数,它报告这些设置与我设置的一样,所以我知道它正在获取正确的配置文件,但什么也没有!

欢迎任何帮助。

【问题讨论】:

  • phpinfo() 对这些设置的本地值有何看法?什么是 error_reporting 值?如何检查错误?
  • 您是否期望发生错误或以其他方式强制发生错误以便您可以对此进行测试?如果是这样,你是怎么做到的?另外,您正在运行的 PHP 的确切版本是什么?每次在 PHP 中更改配置时,请务必重新启动 apache。 (无需重启机器。)

标签: php apache apache2 lamp ubuntu-10.10


【解决方案1】:

不要只在 php.ini 文件中启用display_errors 的第一次出现。确保向下滚动到“真实”设置并将其从 Off 更改为 On

问题是,如果您在第一次出现 display_errors 时就更改(即取消注释 + 添加 = On),您的更改将被覆盖在第 480 行的某个位置,该位置再次设置为 Off

【讨论】:

    【解决方案2】:

    我遇到了同样的问题 - 通过在两个 php.ini 文件中设置 display_errors = On 解决了它。

    /etc/php5/apache2/php.ini
    /etc/php5/cli/php.ini
    

    然后重启 Apache:

    sudo /etc/init.d/apache2 restart
    

    希望这会有所帮助。

    【讨论】:

    • 我认为,cli 用于在线命令行错误,而 apache2 php.ini 表示出现在浏览器中的错误
    • /etc/php5/apache2/php.ini = 通过浏览器运行时的 PHP 设置。 /etc/php5/cli/php.ini = 从命令行运行 PHP 时的 PHP 设置
    • 天啊!!!这太晦涩难懂了。很高兴我找到了它,如果可能的话会给它+10。 @JLove 这应该被接受为正确的(完整的)anwser。
    【解决方案3】:

    要使其正常工作,您应该更改 php.ini 中的以下变量:

    ; display_errors
    ; Default Value: On
    ; Development Value: On
    ; Production Value: Off
    
    ; display_startup_errors
    ; Default Value: On
    ; Development Value: On
    ; Production Value: Off
    
    ; error_reporting
    ; Default Value: E_ALL & ~E_NOTICE
    ; Development Value: E_ALL | E_STRICT 
    ; Production Value: E_ALL & ~E_DEPRECATED
    
    ; html_errors 
    ; Default Value: On 
    ; Development Value: On 
    ; Production value: Off
    
    ; log_errors
    ; Default Value: On 
    ; Development Value: On 
    ; Production Value: On
    

    搜索它们,因为它们已经定义并输入您想要的值。 然后重新启动您的 apache2 服务器,一切都会正常工作。祝你好运!

    【讨论】:

    • 我想知道支持这个的每个人是否按照这里的建议更改了php.ini,或者实际上输入了正确的值,例如display_errors = On。这是默认值上的所有 cmets,因此如果您实际上取消注释此处建议的行,您的 php.ini 将有语法错误。
    • @Pascal 是对的,该更改会产生语法错误,php.ini 中的新更改将不会生效。
    • 这个答案具有误导性。 Chek dbm's answer down below for the correct configuration.
    【解决方案4】:

    编辑 /etc/php5/apache2/php.ini 后一定要重启 apache。

    你可以通过运行:

    sudo service apache2 restart
    

    【讨论】:

      【解决方案5】:
      1. 首先你需要找到php.ini文件的路径
      2. 您会在指定路径/etc/php/7.0/apache2/中找到该文件。如果您要更改 CLI 文件夹或 CGI 文件夹中的值,它将不起作用。
      3. 进行以下更改

      display_errors = 开启

      1. 重启你的apache服务器

      /etc/init.d/apache2 重启

      【讨论】:

        【解决方案6】:

        如果您有覆盖主值的本地值,则不会在 php.ini 中更改其值 在 .htaccess 或虚拟主机配置文件中查看这些变量。

        ...
        
                php_admin_value display_errors On
                php_admin_value error_reporting E_ALL
        </VirtualHost>
        

        如果你编辑vhost,重启apache,

        $ sudo service apache2 restart

        .htaccess 编辑不需要重启 apache

        【讨论】:

        • php_admin_value register_globals On 不应该在那里!这是另一个设置。
        • 抱歉,没看到评论。你说的对。编辑。
        【解决方案7】:

        按照以下步骤,

        1). Open your php.ini file via sublime through path 
            /etc/php/7.2/apache2/php.ini
        
        2). find display_errors in that file
        
        3). Un-comment these lines of code
              display_errors
              Default Value: On
              Development Value: On
              Production Value: Off
        
              display_startup_errors
              Default Value: Off
              Development Value: On
              Production Value: Off
        
              error_reporting
              Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
              Development Value: E_ALL
              Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT
        
              html_errors
              Default Value: On
              Development Value: On
              Production value: On
        
        4). Save the file and then type the following command in the terminal
             sudo service apache2 restart
        
        
        your errors are now showing in the browser
        

        【讨论】:

          【解决方案8】:

          使用phpinfo(); 功能在浏览器上查看设置表并查找

          配置文件(php.ini)路径

          并编辑该文件。你的电脑可以有多个 php.ini 文件,你要编辑正确的。

          还要检查该文件中的display_errors = Onhtml_errors = Onerror_reporting = E_ALL

          重启 Apache。

          【讨论】:

            【解决方案9】:

            这里有很多关于如何定位和修改php.ini 文件的答案,通常这是最好的方法:在服务器配置中设置正确的设置。

            但在某些情况下,使用共享主机时,您可能无法修改您的php.ini 文件,或者您可能需要提交支持请求来修改它,而您只是没有时间。

            如果您突然需要在错误的 PHP 脚本中打开错误,而无需查找、修改配置并重新启动服务器,请尝试以下操作:

            ini_set('display_errors', 1);
            ini_set('display_startup_errors', 1);
            error_reporting(E_ALL);
            

            上面发生的事情似乎很清楚,但是如果您想了解更多信息:

            【讨论】:

              【解决方案10】:

              查看 php.ini 中的 error_reporting 指令。

              【讨论】:

              • 我已将其设置为:error_reporting = E_ALL & ~E_NOTICE 但仍然没有!
              【解决方案11】:

              当我意识到我使用的是开放式短标签表单时,我只是陷入了同样的问题:

              <? echo 'nothing will be print if no open_short_tag option is enabled'; ?>
              

              您必须转到您的/etc/apache2/php.ini 文件并将short_open_tag = Off 设置为On,然后设置sudo service apache2 restart

              干杯!

              【讨论】:

                【解决方案12】:

                它应该重叠,所以它关闭了。尝试在您的文本编辑器中打开并找到display_errors 并将其打开。它对我有用

                【讨论】:

                  【解决方案13】:

                  尝试添加 log_errors = Off 并检查 error_reporting 设置是否设置得足够高。

                  【讨论】:

                  • 记录和显示错误不是两个不同的东西,即您已经在生产环境中登录,但您可能不想在浏览器中显示错误?
                  • 我会在生产和登录时在屏幕上显示错误。
                  • 我曾在生产环境中工作过,除非 log_errors 关闭,否则这些环境会阻止显示错误。我不知道偏执的系统管理员究竟是如何配置盒子的,但这解决了它
                  猜你喜欢
                  • 2013-01-02
                  • 2017-05-06
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 2014-12-07
                  相关资源
                  最近更新 更多