有没有php.ini display_errors =在生产环境中

时间:2015-07-24 14:45:51

标签: php php-ini

关于生产环境

我有check.php

<?php
test();
?>

做的时候

curl -v http://xxx.xxx.xxx.xxx/test.php

如果我的生产环境中的php.ini有

display_errors=Off

我收到标题

* HTTP 1.0, assume close after body
HTTP/1.0 500 Internal Server Error
Date: Fri, 24 Jul 2015 08:10:41 GMT
Server: Apache/2.2.15 (CentOS)
X-Powered-By: PHP/5.3.29
Content-Length: 0
Connection: close
Content-Type: text/html; charset=UTF-8

* Closing connection #0

如果我将其更改为

display_errors=On

我得到以下标题

HTTP/1.1 200 OK
Date: Fri, 24 Jul 2015 08:13:04 GMT
Server: Apache/2.2.15 (CentOS)
X-Powered-By: PHP/5.3.29
Content-Length: 119
Connection: close
Content-Type: text/html; charset=UTF-8

<br />
<b>Fatal error</b>:  Call to undefined function test() in <b>/var/www/html/check.php</b> on line <b>2</b><br />
* Closing connection #0

所以,当我有

display_errors=Off

我得到了

500 Internal Server Error

因此,为了避免500内部服务器错误,我需要有display_errors = On

是否可以

display_errors=On

关于生产环境?

1 个答案:

答案 0 :(得分:2)

500 Internal Server Error出了什么问题?!这正是你所经历的。你的剧本错了,突然死了;这是您服务器中的内部错误。 500响应向客户端发出信号,表明存在错误,这不是客户端的错误,因此客户端不应使用它收到的任何响应,也许稍后再试。这正是在这种情况下必须发生的事情,这就是display_errors=off所做的事情。