为什么PHP错误消息包含指向HTML表示中函数名称的链接?

cha*_*imp 10 php

为什么PHP错误消息包含链接,例如此错误:

<b>Warning</b>: preg_match_all() [<a href='function.preg-match-all'>function.preg-match-all</a>]: Delimiter must not be alphanumeric or backslash in <b>/home/www/test.php</b> on line <b>93</b><br />

有这个链接?:

[<a href='function.preg-match-all'>function.preg-match-all</a>]

假设PHP将被配置为放在http://www.php.net/该URL的前面吗?或者一个人在他们的网络服务器上有一份PHP文档的副本,通过点击该链接,他们将能够访问有关该功能的信息?

这只是我一直很好奇的事情,因为看起来除非错误发生在php.net上,否则这样的链接将毫无用处.

我知道可以设置自定义错误处理程序等.我的问题是:为什么这是PHP的默认行为?

谢谢.

web*_*ave 10

您可以将docref_root设置为前置URI.它旨在与本手册的本地副本一起使用,但可以与外部副本一起使用.

要完全关闭html错误,请将html_errors设置为0.


mar*_*rio 2

它确实应该链接到 php.net,但大多数默认配置都将其关闭。您应该将其重定向到本地手动副本。(我的有 /phpmanual/,php-manual 包可能会把它放在那里;我相信包管理器会取消注释该选项。)

docref_root可以使用中的选项php.ini进行设置。