Настройка Π²ΠΎ врСмя выполнСния

ПовСдСниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ зависит ΠΎΡ‚ установок Π² Ρ„Π°ΠΉΠ»Π΅ php.ini.

Настройки ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ протоколирования событий ΠΈ ошибок
Имя По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠœΠ΅ΡΡ‚ΠΎ измСнСния Бписок ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ
error_reporting NULL INI_ALL Β 
fatal_error_backtraces "1" INI_ALL Доступно, начиная с PHP 8.5.0
display_errors "1" INI_ALL Β 
display_startup_errors "1" INI_ALL Π”ΠΎ PHP 8.0.0 Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π±Ρ‹Π»ΠΎ "0".
log_errors "0" INI_ALL Β 
log_errors_max_len "1024" INI_ALL НС ΠΈΠΌΠ΅Π΅Ρ‚ смысла Π² вСрсии PHP 8.0.0, ΡƒΠ΄Π°Π»Π΅Π½ΠΎ Π² вСрсии PHP 8.1.0.
ignore_repeated_errors "0" INI_ALL Β 
ignore_repeated_source "0" INI_ALL Β 
report_memleaks "1" INI_ALL ОбъявлСна ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠ΅ΠΉ с PHP 8.5.0
track_errors "0" INI_ALL ОбъявлСно ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΌ Π² PHP 7.2.0, ΡƒΠ΄Π°Π»Π΅Π½ΠΎ Π² PHP 8.0.0.
html_errors "1" INI_ALL Β 
xmlrpc_errors "0" INI_SYSTEM Β 
xmlrpc_error_number "0" INI_ALL Β 
docref_root "" INI_ALL Β 
docref_ext "" INI_ALL Β 
error_prepend_string NULL INI_ALL Β 
error_append_string NULL INI_ALL Β 
error_log NULL INI_ALL Β 
error_log_mode 0o644 INI_ALL Доступно, начиная с PHP 8.2.0
syslog.facility "LOG_USER" INI_SYSTEM Доступно, начиная с PHP 7.3.0.
syslog.filter "no-ctrl" INI_ALL Доступно, начиная с PHP 7.3.0.
syslog.ident "php" INI_SYSTEM Доступно, начиная с PHP 7.3.0.
Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈ опрСдСлСния Ρ€Π΅ΠΆΠΈΠΌΠΎΠ² INI_* Π΄Π°Ρ‘Ρ‚ Ρ€Π°Π·Π΄Π΅Π» Β«ΠœΠ΅ΡΡ‚Π° установки ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈΒ».

ΠšΡ€Π°Ρ‚ΠΊΠΎΠ΅ Ρ€Π°Π·ΡŠΡΡΠ½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ².

error_reporting int

Π—Π°Π΄Π°Ρ‘Ρ‚ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ протоколирования ошибки. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π»ΠΈΠ±ΠΎ числом, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΌ Π±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π΅, Π»ΠΈΠ±ΠΎ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΠΎΠΉ константой. Π‘ΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΡƒΡ€ΠΎΠ²Π½ΠΈ ΠΈ константы ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠŸΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Π΅ константы, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π² php.ini. Для установки настройки Π²ΠΎ врСмя выполнСния ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ error_reporting(). Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅ описаниС Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ display_errors.

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Ρ€Π°Π²Π½ΠΎ E_ALL.

Π”ΠΎ PHP 8.0.0 Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π±Ρ‹Π»ΠΎ: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED. ΠŸΡ€ΠΈ этой настройкС Π½Π΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ ΡƒΡ€ΠΎΠ²Π½ΠΈ ошибок E_NOTICE, E_STRICT ΠΈ E_DEPRECATED.

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: PHP-константы Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ PHP

PHP-константы Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ PHP, поэтому Π² Ρ„Π°ΠΉΠ»Π°Ρ… Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ httpd.conf ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Π½Π΅ названия, Π° цСлочислСнныС (int) значСния констант. По ΠΌΠ΅Ρ€Π΅ добавлСния Π½ΠΎΠ²Ρ‹Ρ… ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ ошибок Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ константы E_ALL возрастаСт, поэтому вмСсто Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ значСния константы E_ALL Π»ΡƒΡ‡ΡˆΠ΅ сразу ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ число 2147483647, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ установит Ρ‚Ρ€ΠΈΠ΄Ρ†Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎ Π±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π΅ вмСсто Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΡ… пятнадцати ΠΈ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ Π²Ρ‹Π²ΠΎΠ΄ всСх Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΡ… ΠΈ Π±ΡƒΠ΄ΡƒΡ‰ΠΈΡ… ошибок.

fatal_error_backtraces bool
ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚, Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π»ΠΈ Ρ„Π°Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ ошибки Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ трассировку. Π€Π°Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ошибками ΡΠ²Π»ΡΡŽΡ‚ΡΡ E_ERROR, E_CORE_ERROR, E_COMPILE_ERROR, E_USER_ERROR, E_RECOVERABLE_ERROR ΠΈ E_PARSE.
display_errors string

Настройка опрСдСляСт, трСбуСтся Π»ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ошибки Π½Π° экран вмСстС с ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹ΠΌ Π²Ρ‹Π²ΠΎΠ΄ΠΎΠΌ ΠΈΠ»ΠΈ ΡΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ ошибки ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

  • Off β€” ΡΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ ошибки.
  • On ΠΈΠ»ΠΈ stdout β€” Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ошибки Π² ΠΏΠΎΡ‚ΠΎΠΊ stdout. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.
  • stderr β€” Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ошибки Π² ΠΏΠΎΡ‚ΠΎΠΊ stderr. Π’Ρ‹Π²ΠΎΠ΄ ошибок Π² стандартный ΠΏΠΎΡ‚ΠΎΠΊ ошибок ΠΏΠΎΠ»Π΅Π·Π΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с SAPI-интСрфСйсами CLI, phpdbg ΠΈ CGI.
Π’ Ρ„Π°ΠΉΠ»Π°Ρ… ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ входят Π² дистрибутив PHP, для Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ значСния: Π² php.ini-development β€” On; Π² php.ini-production β€” Off.

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π’Ρ‹Π²ΠΎΠ΄ ошибок Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² цСлях Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π’ производствСнных систСмах с доступом ΠΊ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Ρƒ Π²Ρ‹Π²ΠΎΠ΄ ошибок Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ нСльзя.

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅:

Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ display_errors Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ ini_set() Π½Π΅ сработаСт ΠΈ сообщСниС ΠΎΠ± ошибкС Π½Π΅ появится Π² Π²Ρ‹Π²ΠΎΠ΄Π΅, Ссли скрипт содСрТит ΡΠΈΠ½Ρ‚Π°ΠΊΡΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΎΡˆΠΈΠ±ΠΊΡƒ ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΎΡˆΠΈΠ±ΠΊΡƒ, которая Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° Π΄ΠΎ этапа выполнСния.

display_startup_errors bool

Настройка управляСт Π²Ρ‹Π²ΠΎΠ΄ΠΎΠΌ ошибок, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ Π½Π° этапС запуска PHP; Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° display_errors Π½Π΅ влияСт Π½Π° Π²Ρ‹Π²ΠΎΠ΄ ошибок ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρƒ display_startup_errors Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ.

log_errors bool

Π£ΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π»ΠΈ сообщСния ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… скрипта Π² Π»ΠΎΠ³ ошибок сСрвСра ΠΈΠ»ΠΈ Π² мСсто, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ опрСдСляСт Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° error_log. ΠœΠ΅ΡΡ‚ΠΎ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒΡΡ ошибки, зависит ΠΎΡ‚ сСрвСра.

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅:

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ΅Ρ€ΡŒΡ‘Π·Π½ΠΎ относятся ΠΊ бСзопасности, Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ ошибки Π² ΠΆΡƒΡ€Π½Π°Π», Π° Π½Π΅ выводят сообщСния ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… Π½Π° Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… сайтах.

log_errors_max_len int

УстанавливаСт ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ Π΄Π»ΠΈΠ½Ρƒ сообщСния ΠΎΠ± ошибкС скрипта Π² Π±Π°ΠΉΡ‚Π°Ρ…. Π›ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ошибок Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²ΠΎΠΉ log_errors. Π’ ΠΆΡƒΡ€Π½Π°Π» ошибок, ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ опрСдСляСт Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° error_log, добавляСтся информация ΠΎΠ± источникС. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Ρ€Π°Π²Π½ΠΎ 1024 Π±Π°ΠΉΡ‚Π°ΠΌ, Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 0 снимаСт ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π½Π° Π΄Π»ΠΈΠ½Ρƒ сообщСния. ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π΄Π»ΠΈΠ½Ρ‹ распространяСтся Π½Π° ошибки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π² ΠΆΡƒΡ€Π½Π°Π» ошибок ΠΈΠ»ΠΈ выводятся Π½Π° экран, ΠΈ послСднюю ΠΎΡˆΠΈΠ±ΠΊΡƒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ PHP Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΈ записываСт Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ $php_errormsg, Π½ΠΎ Π½Π΅ Π½Π° явный Π²Ρ‹Π·ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ error_log().

ΠžΠ±ΡŠΡ‘ΠΌ измСряСтся Π² Π±Π°ΠΉΡ‚Π°Ρ…, Ссли Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΡƒΠΊΠ°Π·Π°Π»ΠΈ ΠΊΠ°ΠΊ Ρ†Π΅Π»ΠΎΠ΅ число (int). ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ значСния Π² сокращённой Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ описываСт Ρ€Π°Π·Π΄Π΅Π» FAQ.
ignore_repeated_errors bool

ΠžΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ запись Π² ΠΆΡƒΡ€Π½Π°Π» ошибок, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‚ΡΡ. PHP считаСт ΠΎΡˆΠΈΠ±ΠΊΡƒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΉ, Ссли ΠΎΠ½Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ Ρ„Π°ΠΉΠ»Π΅ ΠΈ Π² Ρ‚ΠΎΠΉ ΠΆΠ΅ строкС, ΠΈ Ссли Π²ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΠΈ ΠΎΠΏΡ†ΠΈΡŽ ignore_repeated_source.

ignore_repeated_source bool

Π˜Π³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ источник ошибок ΠΏΡ€ΠΈ пропускС ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΡ…ΡΡ сообщСний. Когда эта настройка Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π°, ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ΡΡ сообщСния ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°Π½ΠΎΡΠΈΡ‚ΡŒΡΡ Π² ΠΆΡƒΡ€Π½Π°Π» Π²Π½Π΅ зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Π² ΠΊΠ°ΠΊΠΈΡ… Ρ„Π°ΠΉΠ»Π°Ρ… ΠΈ строках ΠΎΠ½ΠΈ происходят.

report_memleaks bool
Если настройка Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ), Π±ΡƒΠ΄Π΅Ρ‚ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΎΡ‚Ρ‡Ρ‘Ρ‚ ΠΎΠ± ΡƒΡ‚Π΅Ρ‡ΠΊΠ°Ρ… памяти, зафиксированных ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ΠΎΠΌ памяти Zend. На POSIX ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ… этот ΠΎΡ‚Ρ‡Ρ‘Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒΡΡ Π² ΠΏΠΎΡ‚ΠΎΠΊ stderr. На Windows ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ… ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΡΡ‹Π»Π°Ρ‚ΡŒΡΡ Π² ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ OutputDebugString(), ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΎΡ‚Ρ‡Ρ‘Ρ‚ Π² этом случаС ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚, Π²Ρ€ΠΎΠ΄Π΅ » DbgView. Π­Ρ‚Π° настройка ΠΈΠΌΠ΅Π΅Ρ‚ смысл Π² сборках, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Ρ… для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ. ΠŸΡ€ΠΈ этом E_WARNING Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° Π² список error_reporting.
Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅

Начиная с PHP 8.5.0 Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ УБВАРЕЛА. ΠŸΠΎΠ»Π°Π³Π°Ρ‚ΡŒΡΡ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π½Π°ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽΡ‚.

track_errors bool

Если Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π°, послСдняя ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π΄ΡˆΠ°Ρ ошибка Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π²ΠΎΠΉ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ $php_errormsg.

html_errors bool

Если Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρƒ Π²ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΠΈ, сообщСния ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… Π±ΡƒΠ΄ΡƒΡ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ HTML-Ρ‚Π΅Π³ΠΈ. Π€ΠΎΡ€ΠΌΠ°Ρ‚ для HTML-ошибок создаёт ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ сообщСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°ΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π½Π° страницу, которая описываСт ΠΎΡˆΠΈΠ±ΠΊΡƒ ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, которая Π²Ρ‹Π·Π²Π°Π»Π° ΠΎΡˆΠΈΠ±ΠΊΡƒ. На Ρ‚Π°ΠΊΠΈΠ΅ ссылки Π²Π»ΠΈΡΡŽΡ‚ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ docref_root ΠΈ docref_ext.

Если Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρƒ Π²Ρ‹ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΠΈ, ошибки Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Π΄Π°Π²Π°Ρ‚ΡŒΡΡ простым тСкстом, Π±Π΅Π· форматирования.

xmlrpc_errors bool

Если Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π°, Ρ‚ΠΎ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠΏΠΎΠ²Π΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΈ, вмСсто Π½Π΅Π³ΠΎ, ошибки выводятся Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ XML-RPC.

xmlrpc_error_number int

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² качСствС значСния XML-RPC элСмСнта faultCode.

docref_root string

Новый Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ошибок содСрТит ссылку Π½Π° страницу с описаниСм ошибки ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π²Ρ‹Π·Π²Π°Π²ΡˆΠ΅ΠΉ эту ΠΎΡˆΠΈΠ±ΠΊΡƒ. МоТно Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ копию описаний ошибок ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ локально ΠΈ Π·Π°Π΄Π°Ρ‚ΡŒ ini Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ URL этой ΠΊΠΎΠΏΠΈΠΈ. Если, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, локальная копия описаний доступна ΠΏΠΎ адрСсу "/manual/", достаточно ΠΏΡ€ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ docref_root=/manual/. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π΅ docref_ext, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰Π΅ΠΉ Π·Π° соотвСтствиС Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ Ρ„Π°ΠΉΠ»ΠΎΠ² Ρ„Π°ΠΉΠ»Π°ΠΌ описаний вашСй локальной ΠΊΠΎΠΏΠΈΠΈ, docref_ext=.html. Π’Π°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ использованиС Π²Π½Π΅ΡˆΠ½ΠΈΡ… ссылок. НапримСр, docref_root=http://manual/en/ ΠΈΠ»ΠΈ docref_root="http://landonize.it/?how=url&theme=classic&filter=Landon &url=http%3A%2F%2Fwww.php.net%2F"

Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв Π²Π°ΠΌ потрСбуСтся, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ docref_root ΠΎΠΊΠ°Π½Ρ‡ΠΈΠ²Π°Π»ΠΎΡΡŒ слСшСм "/". Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π±Ρ‹Π²Π°ΡŽΡ‚ случаи, ΠΊΠΎΠ³Π΄Π° это Π½Π΅ трСбуСтся (смотритС Π²Ρ‹ΡˆΠ΅, Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€).

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅:

Π­Ρ‚Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ ΠΎΠ±Π»Π΅Π³Ρ‡Π°Π΅Ρ‚ поиск описаний Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ ошибок. НС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π΅Π³ΠΎ Π² Π³ΠΎΡ‚ΠΎΠ²Ρ‹Ρ… производствСнных систСмах (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ… доступ Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚).

docref_ext string

Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ docref_root.

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅:

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ docref_ext Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒΡΡ с Ρ‚ΠΎΡ‡ΠΊΠΈ ".".

error_prepend_string string

Π‘Ρ‚Ρ€ΠΎΠΊΠ°, которая Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ нСпосрСдствСнно ΠΏΠ΅Ρ€Π΅Π΄ сообщСниСм ΠΎΠ± ошибкС. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π½Π° экранС отобраТаСтся сообщСниС ΠΎΠ± ошибкС. Основная Ρ†Π΅Π»ΡŒ - Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ HTML-Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΡƒ ΠΊ ΡΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΡŽ ΠΎΠ± ошибкС.

error_append_string string

Π‘Ρ‚Ρ€ΠΎΠΊΠ°, которая Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ послС сообщСния ΠΎΠ± ошибкС. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π½Π° экранС отобраТаСтся сообщСниС ΠΎΠ± ошибкС. Основная Ρ†Π΅Π»ΡŒ - Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ HTML-Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΡƒ ΠΊ ΡΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΡŽ ΠΎΠ± ошибкС.

error_log string

Имя Ρ„Π°ΠΉΠ»Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄ΡƒΡ‚ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒΡΡ сообщСния ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ…. Π€Π°ΠΉΠ» Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ для записи ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Π²Π΅Π±-сСрвСра. Если ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ syslog, Ρ‚ΠΎ сообщСния Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΡΡ‹Π»Π°Ρ‚ΡŒΡΡ Π² систСмный ΠΆΡƒΡ€Π½Π°Π». На Unix-систСмах это syslog(3), Π½Π° Windows NT - ΠΆΡƒΡ€Π½Π°Π» событий. Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅: syslog(). Если Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° Π½Π΅ Π·Π°Π΄Π°Π½Π°, ошибки Π±ΡƒΠ΄ΡƒΡ‚ Π½Π°ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒΡΡ Π² SAPI ΠΆΡƒΡ€Π½Π°Π»Ρ‹. НапримСр, это ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΆΡƒΡ€Π½Π°Π»Ρ‹ ошибок Apache ΠΈΠ»ΠΈ ΠΏΠΎΡ‚ΠΎΠΊ stderr ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки CLI. Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ error_log().

error_log_mode int

Π Π΅ΠΆΠΈΠΌ Ρ„Π°ΠΉΠ»Π°, описанного Π² error_log.

syslog.facility string

Π£ΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΊΠ°ΠΊΠΎΠΉ Ρ‚ΠΈΠΏ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ рСгистрируСт сообщСниС. ДСйствуСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ‚ΠΎΠΌ случаС, Ссли опция error_log установлСна Π² "syslog".

syslog.filter string

Π£ΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ‚ΠΈΠΏ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° для Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ рСгистрируСмых сообщСний. Π Π°Π·Ρ€Π΅ΡˆΡ‘Π½Π½Ρ‹Π΅ символы ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ; всС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π² ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½ΠΎΠΌ прСдставлСнии с прСфиксом \x.

  • all – строка Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π° Π½Π° символы Π½ΠΎΠ²ΠΎΠΉ строки ΠΈ всС символы Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Ρ‹ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ
  • ascii – строка Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π° Π½Π° символы Π½ΠΎΠ²ΠΎΠΉ строки, Π° Π»ΡŽΠ±Ρ‹Π΅ Π½Π΅ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅ΠΌΡ‹Π΅ 7-Π±ΠΈΡ‚Π½Ρ‹Π΅ символы ASCII Π±ΡƒΠ΄ΡƒΡ‚ экранированы
  • no-ctrl – строка Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π° Π½Π° символы Π½ΠΎΠ²ΠΎΠΉ строки, Π° Π»ΡŽΠ±Ρ‹Π΅ Π½Π΅ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅ΠΌΡ‹Π΅ символы Π±ΡƒΠ΄ΡƒΡ‚ экранированы
  • raw – всС символы ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ Π² систСмный ΠΆΡƒΡ€Π½Π°Π» Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π±Π΅Π· раздСлСния Π½Π° Π½ΠΎΠ²Ρ‹Π΅ строки (ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½ΠΎ PHP Π΄ΠΎ 7.3)
ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ влияСт Π½Π° Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΆΡƒΡ€Π½Π°Π»Π° Ρ‡Π΅Ρ€Π΅Π· error_log установлСнного Π² "syslog" ΠΈ Π²Ρ‹Π·ΠΎΠ²Ρ‹ syslog().

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅:

Π’ΠΈΠΏ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° raw доступСн начиная с PHP 7.3.8 ΠΈ PHP 7.4.0.

Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° Π½Π΅ поддСрТиваСтся Π² Windows.
syslog.ident string

ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚ строку ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°, которая добавляСтся ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΡΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΡŽ. ДСйствуСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ‚ΠΎΠΌ случаС, Ссли опция error_log установлСна Π² "syslog".

οΌ‹Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ 2 notes

up
21
cjakeman at bcs dot org ΒΆ
17 years ago
Using 
<?php ini_set('display_errors', 1); ?> 
at the top of your script will not catch any parse errors. A missing ")" or ";" will still lead to a blank page.

This is because the entire script is parsed before any of it is executed. If you are unable to change php.ini and set

display_errors On

then there is a possible solution suggested under error_reporting:

<?php
 error_reporting(E_ALL);
 ini_set("display_errors", 1);
 include("file_with_errors.php");
?>


[Modified by moderator]

You should also consider setting error_reporting = -1 in your php.ini and display_errors = On if you are in development mode to see all fatal/parse errors or set error_log to your desired file to log errors instead of display_errors in production (this requires log_errors to be turned on).
up
1
ohcc at 163 dot com ΒΆ
9 years ago
If you set the error_log directive to a relative path, it is a path relative to the document root rather than php's containing folder.