Почему сообщения об ошибках PHP содержат ссылку на имя имени функции в их представлении HTML?

Почему сообщения об ошибках 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?

Спасибо.

Ответ 1

Он действительно должен ссылаться на php.net, но большинство конфигураций по умолчанию отключено. И вы должны перенаправить его на местную ручную копию. (У Mine есть /phpmanual/, где, вероятно, будет установлен пакет php-manual, и я считаю, что диспетчер пакетов раскомментировал бы этот вариант.)

Для его установки можно использовать опцию docref_root в php.ini.

Ответ 2

Вы можете установить docref_root для добавления URI. он предназначен для использования с локальной копией руководства, но может использоваться с внешним.

Чтобы полностью отключить html-ошибки, установите html_errors на 0.