61

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

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

  • display_errors = On
  • display_startup_errors = On

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

欢迎任何帮助。

4

13 回答 13

61

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

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

于 2012-11-24T14:04:19.980 回答
46

我有同样的问题 - 通过设置display_errors = On两个php.ini文件来解决它。

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

然后重新启动 Apache:

sudo /etc/init.d/apache2 restart

希望这可以帮助。

于 2012-01-20T12:08:45.647 回答
37

要使其工作,您应该更改 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 服务器,一切都会正常工作。祝你好运!

于 2011-10-07T16:10:32.267 回答
9

编辑 /etc/php5/apache2/php.ini 后,请务必重新启动 apache。

您可以通过运行:

sudo service apache2 restart
于 2011-03-03T20:38:11.713 回答
5
  1. 首先你需要找到php.ini文件的路径
  2. 您将在指定路径/etc/php/7.0/apache2/中找到该文件。如果您要更改 CLI 文件夹或 CGI 文件夹中的值,它将不起作用。
  3. 进行以下更改

display_errors = 开

  1. 重启你的apache服务器

/etc/init.d/apache2 重启

于 2017-02-27T06:05:59.340 回答
4

如果您有覆盖主值的本地值,则不会在 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 重启

于 2013-10-07T20:46:03.693 回答
4

Follow the below steps,

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
于 2018-03-31T14:42:29.980 回答
1

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

配置文件 (php.ini) 路径

并编辑该文件。您的计算机可以有多个 php.ini 文件,您要编辑正确的一个。

还要检查display_errors = On,html_errors = Onerror_reporting = E_ALL在该文件中

重启阿帕奇。

于 2017-07-28T03:44:11.307 回答
1

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

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

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

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

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

于 2021-11-09T14:47:43.673 回答
0

查看 php.ini 中的 error_reporting 指令。

于 2011-02-19T11:08:55.443 回答
-1

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

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

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

干杯!

于 2014-04-23T17:47:10.393 回答
-2

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

于 2015-07-09T13:38:39.113 回答
-3

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

于 2011-02-19T11:09:21.253 回答