Основи

PHP повідомляє ΠΏΡ€ΠΎ ΠΏΠΎΠΌΠΈΠ»ΠΊΠΈ Ρƒ Π²Ρ–Π΄ΠΏΠΎΠ²Ρ–Π΄ΡŒ Π½Π° дСякі Π²Π½ΡƒΡ‚Ρ€Ρ–ΡˆΠ½Ρ– ΠΏΠΎΠΌΠΈΠ»ΠΊΠΎΠ²Ρ– обставини. Π’ΠΎΠ½ΠΈ ΠΌΠΎΠΆΡƒΡ‚ΡŒ Π±ΡƒΡ‚ΠΈ використані для сповіщСння ΠΏΡ€ΠΎ Ρ€Ρ–Π·Π½Ρ– стани, Π° Ρ‚Π°ΠΊΠΎΠΆ ΠΌΠΎΠΆΡƒΡ‚ΡŒ виводитися Π½Π° Π΅ΠΊΡ€Π°Π½ Ρ– записуватися Π² Π»ΠΎΠ³Ρ– Π·Π° баТанням.

КоТна ΠΏΠΎΠΌΠΈΠ»ΠΊΠ°, Ρ‰ΠΎ Π³Π΅Π½Π΅Ρ€ΡƒΡ”Ρ‚ΡŒΡΡ PHP, ΠΎΠ±ΠΎΠ²'язково ΠΌΡ–ΡΡ‚ΠΈΡ‚ΡŒ Ρ–Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†Ρ–ΡŽ ΠΏΡ€ΠΎ свій Ρ‚ΠΈΠΏ . Π£ Ρ†ΡŒΠΎΠΌΡƒ списку ΠΏΠ΅Ρ€Π΅Ρ€Π°Ρ…ΠΎΠ²Π°Π½Ρ– всі Ρ‚ΠΈΠΏΠΈ ΠΏΠΎΠΌΠΈΠ»ΠΎΠΊ, Π° Ρ‚Π°ΠΊΠΎΠΆ описи Ρ—Ρ… ΠΏΠΎΠ²Π΅Π΄Ρ–Π½ΠΎΠΊ Ρ– ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΈ, Ρ‰ΠΎ Ρ—Ρ… ΠΏΡ€ΠΎΠ²ΠΎΠΊΡƒΡŽΡ‚ΡŒ.

ΠžΠ±Ρ€ΠΎΠ±ΠΊΠ° ΠΏΠΎΠΌΠΈΠ»ΠΎΠΊ

PHP, Π·Π° умовчанням, ΠΌΠΎΠΆΠ΅ обробляти Π±ΡƒΠ΄ΡŒ-які ΠΏΠΎΠΌΠΈΠ»ΠΊΠΈ Π²Ρ–Π΄ΠΏΠΎΠ²Ρ–Π΄Π½ΠΎ Π΄ΠΎ своєї ΠΊΠΎΠ½Ρ„Ρ–Π³ΡƒΡ€Π°Ρ†Ρ–Ρ—, якщо ΠΎΠ±Ρ€ΠΎΠ±Π½ΠΈΠΊ ΠΏΠΎΠΌΠΈΠ»ΠΎΠΊ Π½Π΅ встановлСний. ΠŸΡ€ΠΎ які ΠΏΠΎΠΌΠΈΠ»ΠΊΠΈ повідомляти Ρ‚Π° які ΠΏΠΎΠΌΠΈΠ»ΠΊΠΈ Ρ–Π³Π½ΠΎΡ€ΡƒΠ²Π°Ρ‚ΠΈ Π²ΠΊΠ°Π·ΡƒΡ”Ρ‚ΡŒΡΡ Ρƒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ– error_reporting ΠΊΠΎΠ½Ρ„Ρ–Π³ΡƒΡ€Π°Ρ†Ρ–Ρ— php.ini, Π°Π±ΠΎ ΠΏΡ–Π΄ час виконання ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ Π·Π° допомогою Π²ΠΈΠΊΠ»ΠΈΠΊΡƒ error_reporting(). Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡ”Ρ‚ΡŒΡΡ Π·Π°Π·Π΄Π°Π»Π΅Π³Ρ–Π΄ΡŒ ΠΊΠΎΠ½Ρ„Ρ–Π³ΡƒΡ€ΡƒΠ²Π°Ρ‚ΠΈ php.ini, ΠΎΡΠΊΡ–Π»ΡŒΠΊΠΈ дСякі ΠΏΠΎΠΌΠΈΠ»ΠΊΠΈ ΠΌΠΎΠΆΡƒΡ‚ΡŒ статися Π΄ΠΎ ΠΏΠΎΡ‡Π°Ρ‚ΠΊΡƒ виконання вашого скрипта.

На стадии Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ настройтС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€error_reportingΠ½Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅**E_ALL**, Ρ‚Π°ΠΊ як Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…Ρ–Π΄Π½ΠΎ Π·Π½Π°Ρ‚ΠΈ ΠΏΡ€ΠΎ всі ΠΏΠΎΠΌΠΈΠ»ΠΊΠΈ для Ρ—Ρ… Π²ΠΈΡ€Ρ–ΡˆΠ΅Π½Π½Ρ Π½Π° Ρ†Ρ–ΠΉ стадії. Коли ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΈΠΉ, Π²ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·ΠΌΡ–Π½ΠΈΡ‚ΠΈ значСння мСнш Π΄ΠΎΠΊΠ»Π°Π΄Π½Π΅, Π½Π°Ρ‡Π΅Π±Ρ‚ΠΎ E_ALL & ~E_NOTICE & ~E_DEPRECATED, Π°Π»Π΅ Ρƒ Π±Π°Π³Π°Ρ‚ΡŒΠΎΡ… Π²ΠΈΠΏΠ°Π΄ΠΊΠ°Ρ… значСння E_ALL Ρ‚Π°ΠΊΠΎΠΆ Π±Π°ΠΆΠ°Π½ΠΎ, Ρ‚ΠΎΠΌΡƒ Ρ‰ΠΎ Π²ΠΎΠ½ΠΎ ΠΌΠΎΠΆΠ΅ ΠΏΠΎΠΏΠ΅Ρ€Π΅Π΄ΠΆΠ°Ρ‚ΠΈ Π·Π°Π·Π΄Π°Π»Π΅Π³Ρ–Π΄ΡŒ ΠΏΡ€ΠΎ Ρ–Π½ΡˆΡ– ΠΌΠΎΠΆΠ»ΠΈΠ²Ρ– ΠΏΠΎΠΌΠΈΠ»ΠΊΠΈ.

Подальша Ρ€ΠΎΠ±ΠΎΡ‚Π° PHP Π· ΠΏΠΎΠΌΠΈΠ»ΠΊΠ°ΠΌΠΈ, Ρ‰ΠΎ Π·'явилися, Π·Π°Π»Π΅ΠΆΠΈΡ‚ΡŒ Π²Ρ–Π΄ Π΄Π²ΠΎΡ… Ρ–Π½ΡˆΠΈΡ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ–Π² Π² php.ini. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ display_errors Π²ΠΈΠ·Π½Π°Ρ‡Π°Ρ”, Ρ‡ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΠΈ Π΄Π°Π½Ρ– ΠΏΠΎΠΌΠΈΠ»ΠΊΠΈ Ρƒ висновок скрипта Ρ‡ΠΈ Π½Ρ–. Коли ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΈΠΉ, ΠΎΠ±ΠΎΠ²'язково Π²ΠΈΠΌΠΊΠ½Ρ–Ρ‚ΡŒ Ρ†Π΅ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€, ΠΎΡΠΊΡ–Π»ΡŒΠΊΠΈ Π² описі ΠΏΠΎΠΌΠΈΠ»ΠΊΠΈ ΠΌΠΎΠΆΠ΅ Π±ΡƒΡ‚ΠΈ ΠΊΠΎΠ½Ρ„Ρ–Π΄Π΅Π½Ρ†Ρ–ΠΉΠ½Π° інформація, Π½Π° ΠΊΡˆΡ‚Π°Π»Ρ‚ ΠΏΠ°Ρ€ΠΎΠ»Ρ–Π² Π±Π°Π·ΠΈ Π΄Π°Π½ΠΈΡ…. ΠŸΡ–Π΄ час Ρ€ΠΎΠ·Ρ€ΠΎΠ±ΠΊΠΈ Ρ†Π΅ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΊΡ€Π°Ρ‰Π΅ ΡƒΠ²Ρ–ΠΌΠΊΠ½ΡƒΡ‚ΠΈ для Π²ΠΈΡ€Ρ–ΡˆΠ΅Π½Π½Ρ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, Ρ‰ΠΎ ΠΏΡ€ΠΎΠ²ΠΎΠΊΡƒΡŽΡ‚ΡŒ ΠΏΠΎΠΌΠΈΠ»ΠΊΠΈ.

ΠšΡ€Ρ–ΠΌ відобраТСння ΠΏΠΎΠΌΠΈΠ»ΠΎΠΊ, Ρ—Ρ… ΠΌΠΎΠΆΠ½Π° записувати Π² Π»ΠΎΠ³ Π·Π° допомогою ΡƒΠ²Ρ–ΠΌΠΊΠ½Π΅Π½ΠΎΠ³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° log_errors. Π€Π°ΠΉΠ» Π»ΠΎΠ³Π° Π²ΠΊΠ°Π·ΡƒΡ”Ρ‚ΡŒΡΡ Ρƒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ– error_log. Ця функція Π½Π΅Π·Π°ΠΌΡ–Π½Π½Π° Π½Π° стадії ΠΊΡ–Π½Ρ†Π΅Π²ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρƒ, ΠΎΡΠΊΡ–Π»ΡŒΠΊΠΈ дозволяє Π±Π°Ρ‡ΠΈΡ‚ΠΈ Ρ–Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†Ρ–ΡŽ ΠΏΡ€ΠΎ ΠΏΠΎΠΌΠΈΠ»ΠΊΠΈ Ρ– складати засновані Π½Π° Π½ΠΈΡ… Π·Π²Ρ–Ρ‚ΠΈ Π΄Π°Π»Π΅ΠΊΠΎ Π²Ρ–Π΄ ΠΎΡ‡Π΅ΠΉ користувача.

ΠšΠΎΡ€ΠΈΡΡ‚ΡƒΠ²Π°Π»ΡŒΠ½ΠΈΡ†ΡŒΠΊΠ° ΠΎΠ±Ρ€ΠΎΠ±ΠΊΠ° ΠΏΠΎΠΌΠΈΠ»ΠΎΠΊ

Π―ΠΊΡ‰ΠΎ вас Π½Π΅ Π²Π»Π°ΡˆΡ‚ΠΎΠ²ΡƒΡ” Ρ€ΠΎΠ±ΠΎΡ‚Π° ΠΏΠΎΠΏΠ΅Ρ€Π΅Π΄Π½ΡŒΠΎ встановлСного ΠΎΠ±Ρ€ΠΎΠ±Π½ΠΈΠΊΠ° ΠΏΠΎΠΌΠΈΠ»ΠΎΠΊ, Π²ΠΈ Ρ‚Π°ΠΊΠΎΠΆ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ обробляти Π±Π΅Π·Π»Ρ–Ρ‡ Π²ΠΈΠ΄Ρ–Π² ΠΏΠΎΠΌΠΈΠ»ΠΎΠΊ Π·Π° допомогою свого ΠΎΠ±Ρ€ΠΎΠ±Π½ΠΈΠΊΠ°, який ΠΌΠΎΠΆΠ½Π° встановити Π²ΠΈΠΊΠ»ΠΈΠΊΠΎΠΌ Ρ„ΡƒΠ½ΠΊΡ†Ρ–Ρ— set_error_handler(). ДСякі ΠΏΠΎΠΌΠΈΠ»ΠΊΠΈ Π½Π΅ ΠΌΠΎΠΆΡƒΡ‚ΡŒ оброблятися користувачСм, Π°Π»Π΅ Ρ‚Ρ–, які ΠΌΠΎΠΆΡƒΡ‚ΡŒ, ΠΎΠ±Ρ€ΠΎΠ±Π»ΡΡŽΡ‚ΡŒΡΡ Π·Π° вашим баТанням: Π½Π°ΠΏΡ€ΠΈΠΊΠ»Π°Π΄, ваш скрипт ΠΌΠΎΠΆΠ΅ Π²ΠΈΠ΄Π°Π²Π°Ρ‚ΠΈ користувачСві Π±ΡƒΠ΄ΡŒ-яку ΠΎΠΊΡ€Π΅ΠΌΡƒ сторінку ΠΏΠΎΠΌΠΈΠ»ΠΊΠΈ, Π° Π΄ΠΎΠΊΠ»Π°Π΄Π½Ρƒ Ρ–Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†Ρ–ΡŽ записувати Π² Π»ΠΎΠ³ Π°Π±ΠΎ надсилати ΠΏΠΎΡˆΡ‚ΠΎΡŽ.