ΠΊΠ°ΠΊ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ php ΠΊΠΎΠ΄

ΠžΡ‚Π»Π°Π΄ΠΊΠ° php Π² Visual Studio Code (Xdebug, Windows)

Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° php. Visual Studio code прСдоставляСт Ρ‚Π°ΠΊΡƒΡŽ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ условии установки Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ PHP Debug (marketplace, github).

Установка PHP Debug

ΠΊΠ°ΠΊ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ php ΠΊΠΎΠ΄. image loader. ΠΊΠ°ΠΊ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ php ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ php ΠΊΠΎΠ΄-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ php ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° php. Visual Studio code прСдоставляСт Ρ‚Π°ΠΊΡƒΡŽ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ условии установки Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ PHP Debug (marketplace, github).

Установка ΠΈ настройка Xdebug

PHP Debug ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Xdebug. Для настройки Xdebug ΠΏΡ€ΠΎΠΉΠ΄ΠΈΡ‚Π΅ ΠΏΠΎ ссылкС. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ Π½Π° локальной машинС ΡƒΠΆΠ΅ установлСн ΠΈ настроСн сСрвСр apache. Π—Π΄Π΅ΡΡŒ ΠΈ Π΄Π°Π»Π΅Π΅ дСйствия ΡƒΠΊΠ°Π·Π°Π½Ρ‹ для Windows. МоТно ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ», Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, test.php содСрТащий:

ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π΅Π³ΠΎ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ ΠΈ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ содСрТимоС страницы Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ. Π”Ρ€ΡƒΠ³ΠΎΠΉ способ:

ΠΊΠ°ΠΊ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ php ΠΊΠΎΠ΄. D76eX95nE7V2dPLT4KvZ2t8u7RDyG1lz96ULl mO6fwkynnj0Xa dFUvBNjTtCR3u7vSOIPa1vDvKRe1TpzOUw%3D%3D?uid=0&filename=2016 09 21 21 10 20. ΠΊΠ°ΠΊ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ php ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ php ΠΊΠΎΠ΄-D76eX95nE7V2dPLT4KvZ2t8u7RDyG1lz96ULl mO6fwkynnj0Xa dFUvBNjTtCR3u7vSOIPa1vDvKRe1TpzOUw%3D%3D?uid=0&filename=2016 09 21 21 10 20. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ php ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° D76eX95nE7V2dPLT4KvZ2t8u7RDyG1lz96ULl mO6fwkynnj0Xa dFUvBNjTtCR3u7vSOIPa1vDvKRe1TpzOUw%3D%3D?uid=0&filename=2016 09 21 21 10 20. Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° php. Visual Studio code прСдоставляСт Ρ‚Π°ΠΊΡƒΡŽ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ условии установки Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ PHP Debug (marketplace, github).

ΠšΡ€ΠΎΠΌΠ΅ этого, Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π½ΠΈΠΆΠ΅ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ строки. Π˜Ρ‚ΠΎΠ³ΠΎΠ²ΠΎΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊΠΈΠΌ:

Как Π²Ρ‹ ΡƒΠΆΠ΅, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ догадались, Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π½Π° локальной машинС установлСн XAMPP.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π‘ вСрсиСй Xdebug 2.5 ΠΈ Π²Ρ‹ΡˆΠ΅ Visual Studio code Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π²Ρ‹Π±ΠΈΡ€Π°ΠΉΡ‚Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ вашСй вСрсии php Ρ„Π°ΠΉΠ» *.dll.

Настройка Visual Studio code

Π’Ρ‹Π·ΠΎΠ²ΠΈΡ‚Π΅ панСль ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ (1) ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π½Π° ΠΈΠΊΠΎΠ½ΠΊΡƒ с малСнькой ΡˆΠ΅ΡΡ‚Π΅Ρ€Π΅Π½ΠΊΠΎΠΉ (2).

ΠΊΠ°ΠΊ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ php ΠΊΠΎΠ΄. image loader. ΠΊΠ°ΠΊ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ php ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ php ΠΊΠΎΠ΄-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ php ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° php. Visual Studio code прСдоставляСт Ρ‚Π°ΠΊΡƒΡŽ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ условии установки Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ PHP Debug (marketplace, github).

Настройка PHP Debug Π½Π° этом ΠΎΠΊΠΎΠ½Ρ‡Π΅Π½Π°.

ΠžΡ‚Π»Π°Π΄ΠΊΠ° php Π² Visual Studio code

ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅\сайт. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΏΠ°ΠΏΠΊΡƒ с ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π² Visual Studio code. УстановитС Π² Π½ΡƒΠΆΠ½Ρ‹Ρ… Ρ„Π°ΠΉΠ»Π°Ρ… ΠΈ строках Ρ‚ΠΎΡ‡ΠΊΠΈ остановки. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ панСль ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ для запуска ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Listen for Xdebug (1). НаТмитС ΠΊΠ½ΠΎΠΏΠΊΡƒ запуска (2).

ΠΊΠ°ΠΊ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ php ΠΊΠΎΠ΄. image loader. ΠΊΠ°ΠΊ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ php ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ php ΠΊΠΎΠ΄-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ php ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° php. Visual Studio code прСдоставляСт Ρ‚Π°ΠΊΡƒΡŽ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ условии установки Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ PHP Debug (marketplace, github).

ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚Π΅ страницу Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ ΠΈ Π½Π°ΡΠ»Π°ΠΆΠ΄Π°ΠΉΡ‚Π΅ΡΡŒ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ способ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° PHP

Π― ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡΡŒ этим ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° PHP ΡƒΠΆΠ΅ Π»Π΅Ρ‚, Π½Π°Π²Π΅Ρ€Π½ΠΎΠ΅, 10. И Π΅Ρ‰Ρ‘ Π½ΠΈ Ρ€Π°Π·Ρƒ ΠΎΠ½ мСня Π½Π΅ ΠΏΠΎΠ΄Π²ΠΎΠ΄ΠΈΠ». ΠŸΠΎΡ‡Π΅ΠΌΡƒ я Ρ€Π΅ΡˆΠΈΠ» ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ этим способом с Π²Π°ΠΌΠΈ? НавСрноС ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ больно ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Π΅Ρ€ΡƒΡ‚ ΠΎΡ‚ΠΊΡƒΠ΄Π°-Ρ‚ΠΎ ΠΊΠΎΠ΄, ΠΈΠ»ΠΈ ΠΏΠΈΡˆΡƒΡ‚ ΠΏΡ€ΠΈΠ»ΠΈΡ‡Π½ΡƒΡŽ портянку сами, ΠΎΠ½ (СстСствСнно) Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΈ ΠΎΠ½ΠΈ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ Ρ…Π°ΠΎΡ‚ΠΈΡ‡Π½ΠΎ ΠΌΠ΅Π½ΡΡ‚ΡŒ всё подряд, ΠΏΡ‹Ρ‚Π°ΡΡΡŒ ΠΊΠ°ΠΊΠΈΠΌ-Ρ‚ΠΎ способом β€œΠ½Π°Ρ‰ΡƒΠΏΠ°Ρ‚ΡŒβ€ Ρ‚ΠΎ мСсто, Π³Π΄Π΅ таится ошибка. Но это Π½Π° самом Π΄Π΅Π»Π΅ слоТный ΠΏΡƒΡ‚ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ всСгда ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρƒ. Π˜Ρ‚Π°ΠΊ, Π²ΠΎΡ‚ Ρ‡Ρ‚ΠΎ я ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ.

Π“Π»Π°Π²Π½ΠΎΠ΅ ΠΏΡ€ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈ поискС β€œΠ±Π°Π³ΠΎΠ²β€ – это Ρ‚Π΅Ρ€ΠΏΠ΅Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π² дСйствиях. Если Π²Ρ‹ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΡΠΎΠ±Π»ΡŽΠ΄Π°Ρ‚ΡŒ ΠΏΠΎΡˆΠ°Π³ΠΎΠ²Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, Ρ‚ΠΎ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ получится, Π² ΠΈΡ‚ΠΎΠ³Π΅ Π²Ρ‹ Π·Π°ΠΏΡƒΡ‚Π°Π΅Ρ‚Π΅ΡΡŒ ΠΈ Π½ΠΈ ΠΊ Ρ‡Π΅ΠΌΡƒ Π½Π΅ ΠΏΡ€ΠΈΠ΄Ρ‘Ρ‚Π΅.

Π‘Π°ΠΌ ΠΏΠΎΡˆΠ°Π³ΠΎΠ²Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ сводится ΠΊ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ расстановкС ΠΌΠ΅Ρ‚ΠΎΠΊ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, обновлСнию страницы ΠΈ наблюдСнию Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅. Π›ΡƒΡ‡ΡˆΠ΅ всСго Π½Π°Ρ‡Π°Ρ‚ΡŒ всСго с ΠΎΠ΄Π½ΠΎΠΉ ΠΌΠ΅Ρ‚ΠΊΠΈ.

КаТдая ΠΌΠ΅Ρ‚ΠΊΠ° выглядит ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ

Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ ΠΊΠΎΠ΄Π° PHP, дойдя Π΄ΠΎ Ρ‚Π°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΊΠΈ сдСлаСт ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅: вывСдя β€œ1” Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€, ΠΎΠ½ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‚ΠΈΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ дошло Π΄ΠΎ этого мСста, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π½Π° экранС Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ‡ΠΊΠ° ΠΈ это Π±ΡƒΠ΄Π΅Ρ‚ послСднСС, Ρ‡Ρ‚ΠΎ отобразится Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅. НСт Π½ΠΈΡ‡Π΅Π³ΠΎ ΠΏΡ€ΠΎΡ‰Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ – Π΄ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ Π»ΠΈ Π΄ΠΎ этой Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π΅ ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ exit(), Ссли Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ Π½Π΅ обновляСт страницу послС Π²Ρ‹Π²ΠΎΠ΄Π° (Π½Π΅Ρ‚ Ρ€Π΅Ρ„Ρ€Π΅ΡˆΠ°).

Π”Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠΈΠ΅ дСйствия ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ:

ΠžΠ±Ρ‰Π΅Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ: ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ³Π°ΠΉΡ‚Π΅ΡΡŒ ΠΏΠΎ ΠΊΠΎΠ΄Ρƒ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ, ΡΡ‚Π°Ρ€Π°ΡΡΡŒ Π½Π΅ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ³ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°, Π³Π΄Π΅ таится Π±Π°Π³. Π‘Ρ‚Π°Ρ€Π°ΠΉΡ‚Π΅ΡΡŒ Ρ‡Π°Ρ‰Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π½ΠΎΠ³ΠΎ дСлСния.

Π’Ρ‹Π²ΠΎΠ΄ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…

Но Ρ‡Ρ‚ΠΎ Ρ‚ΠΎΠ»ΠΊΡƒ ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Π΄ΠΎΡˆΡ‘Π» ΠΈΠ»ΠΈ Π½Π΅ Π΄ΠΎΡˆΡ‘Π» Π΄ΠΎ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Ρ‚ΠΎ мСста? ΠœΠ°Π»ΠΎΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠ²Π½ΠΎ. Π”Π°Π²Π°ΠΉΡ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ большС ΠΆΠΈΠ·Π½ΠΈ!

Часто Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ вывСсти значСния ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠ΅ ΠΊΠΎΠ΄Π°. И Ρ‚ΡƒΡ‚ Π½Π°ΠΌ пригодятся Π΄Π²Π΅ ΠΌΠΎΡ‰Π½Π΅ΠΉΡˆΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ – print_r() ΠΈ var_dump(). Π’ΠΎΡ‚ ΠΊΠ°ΠΊ ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ.

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ содСрТимоС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ print_r($var); ΠΈΠ»ΠΈ print_r($obj->var) Ссли Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ содСрТимоС свойства ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ true ΠΈΠ»ΠΈ false, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ var_dump(). Π’ΡƒΡ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΡΡΠ½ΠΈΡ‚ΡŒ ΠΊΠΎΠ΅-Ρ‡Ρ‚ΠΎ. Ѐункция print_r() ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ Π±Ρ‹Π»Π° ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π½Π° для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ красиво Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ значСния Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ². ΠŸΡ€ΠΈΡ‡Ρ‘ΠΌ ΠΎΠ½Π° Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ ΠΈ Ρ†Π΅Π»Ρ‹Π΅, ΠΈ строки, ΠΈ массивы ΠΈ Π΄Π°ΠΆΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹. А Π²ΠΎΡ‚ true ΠΈ false ΠΎΠ½Π° Π½Π΅ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ всСгда Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π΅Π½ пустой строкС. Π’ΡƒΡ‚ Π½Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ var_dump(), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Ρ‚ΠΎΡ‡Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ Ρ‚ΠΈΠΏ этого значСния.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ var_dump() Π²Π΅Π·Π΄Π΅ я Π½Π΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ. Π’Ρ‹Π²ΠΎΠ΄, ΠΈΠΌ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ, выглядит Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π·Π°ΠΏΡƒΡ‚Π°Π½Π½Π΅Π΅, Ρ‡Π΅ΠΌ Π²Ρ‹Π²ΠΎΠ΄ ΠΎΡ‚ print_r().

Π˜Ρ‚ΠΎΠ³ΠΎ, Π²ΠΎΡ‚ ΠΊΠ°ΠΊ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ наша информативная ΠΌΠ΅Ρ‚ΠΊΠ°:

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ я Π΄ΡƒΠ±Π»ΠΈΡ€ΡƒΡŽ Π½ΠΎΠΌΠ΅Ρ€ ΠΌΠ΅Ρ‚ΠΊΠΈ Π² ΠΎΠ±Ρ€Π°ΠΌΠ»Π΅Π½ΠΈΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… символов, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ, Π³Π΄Π΅ закончился Π²Ρ‹Π²ΠΎΠ΄ тСстируСмых ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Π­Ρ‚ΠΎ часто Π±Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ.

МоТно Π΅Ρ‰Ρ‘ ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ print_r() Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ echo β€œvar=”; Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π³Π΄Π΅ ΠΈ Ρ‡ΡŒΡ‘ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ отобраТаСтся.

Π—Π°ΠΌΠ΅Ρ€ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния части ΠΊΠΎΠ΄Π°

ΠžΡ‡Π΅Π½ΡŒ часто ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΡ„Π°ΠΉΠ»ΠΈΠ½Π³Π΅ (Π° Π΅Ρ‰Ρ‘ Ρ‡Π°Ρ‰Π΅ ΠΏΡ€ΠΈ поискС β€œΡ‚ΠΎΡ€ΠΌΠΎΠ·ΠΎΠ²β€ Π² ΠΊΠΎΠ΄Π΅) Π±Ρ‹Π²Π°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΌΠ΅Ρ€ΠΈΡ‚ΡŒ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ΅ врСмя выполнСния ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ куска ΠΊΠΎΠ΄Π°.

Π’ PHP Π΅ΡΡ‚ΡŒ Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ функция microtime(), которая Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ врСмя Π² микросСкундах. Если Π΅ΠΉ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ true, Ρ‚ΠΎ ΠΎΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π² Π²ΠΈΠ΄Π΅ числа с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ ΠΈ Π½ΡƒΠΆΠ½ΠΎ.

ИдСя способа Π·Π°ΠΌΠ΅Ρ€Π° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния куска ΠΊΠΎΠ΄Π° сводится ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ врСмя ΠΏΠ΅Ρ€Π΅Π΄ Π½Π°Ρ‡Π°Π»ΠΎΠΌ этого куска ΠΈ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ с Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ Π² ΠΊΠΎΠ½Ρ†Π΅ куска. Π’ΠΎ Π΅ΡΡ‚ΡŒ Π²ΠΎΡ‚ Ρ‚Π°ΠΊ:

ΠŸΡ€ΠΈ этом послС ΠΌΠ΅Ρ‚ΠΊΠΈ ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ врСмя, ΠΏΠΎΡ‚Ρ€Π°Ρ‡Π΅Π½Π½ΠΎΠ΅ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π² сСкундах. Часто Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Ρ‚ΠΈΠΏΠ° Ρ‚Π°ΠΊΠΎΠ³ΠΎ: 1.233433E-05, это инТСнСрная Ρ„ΠΎΡ€ΠΌΠ° записи ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ°Π»Ρ‹Ρ… ΠΈ ΠΎΡ‡Π΅Π½ΡŒ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… чисСл. МоТно привСсти Π΅Ρ‘ Π² Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π²ΠΈΠ΄, Π΄ΠΎΠ±Π°Π²ΠΈΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ sprintf():

НСмного большС ΠΊΠΎΠ΄Π°, Π½ΠΎ Π·Π°Ρ‚ΠΎ Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ числа Π²Ρ€ΠΎΠ΄Π΅ 0.000012, Ρ‚.Π΅. 12 микросСкунд.

Π’ΠΎΡ‚ ΠΈ всё Π½Π° сСгодня, Π·Π°Π²Ρ‚Ρ€Π° я Π½Π°ΠΏΠΈΡˆΡƒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ ΡΡ‚Π°Ρ‚ΡŒΡŽ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ расскаТу ΠΎΠ± Π΅Ρ‰Ρ‘ ΠΎΠ΄Π½ΠΎΠΌ способС ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ с использованиСм Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠΈ Π»ΠΎΠ³Π° Π² Ρ„Π°ΠΉΠ» (Π±Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Ссли Π½Π΅ хочСтся Π½Π°Ρ€ΡƒΡˆΠ°Ρ‚ΡŒ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ сайта, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ Ρ€Π°Π·Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠΊ Π½Π° страницу нСдопустим).

Бпасибо Π·Π° Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Π½Π΅ Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΡƒΡŽ ΡΡ‚Π°Ρ‚ΡŒΡŽ!

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π—Π°ΠΌΠΎΠ»Π²ΠΈΠΌ слово ΠΎΠ± ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅ ΠΈ ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ [PHP]

ВсС ΠΈΠ΄Π΅Ρ‚ ΠΎΡ‚ Π»Π΅Π½ΠΈ. Π’Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ Ρ‡ΡƒΠΆΠΎΠΉ ΠΎΡ‡Π΅Π½ΡŒ большой ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ нСбольшиС ΠΏΡ€Π°Π²ΠΊΠΈ, ΠΈΠ»ΠΈ ΠΆΠ΅ написали скрипт ΠΈ сразу Π½Π΅ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ Π² Π½Π΅ΠΌ Π΅Ρ‰Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ. Как Π±Ρ‹Ρ‚ΡŒ? Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄, Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ шаг Π½Π° экран ΠΈΠ»ΠΈ Π² Ρ„Π°ΠΉΠ» (var_dump() ΠΈ Ρ‚.Π΄.) Π½Π΅ всСгда эффСктивно, вСдь ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ срСдствами ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π° сСгодняшний дСнь ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ. ΠšΡ€Π°Ρ‚ΠΊΠΎ ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΡŽ часто Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠ΅ΡΡβ€¦

Xdebug Debugger and Profiler Tool β€” Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ PHP. Π’Ρ€Π΅Π±ΡƒΠ΅Ρ‚ установки Π½Π° сСрвСр ΠΈ настройки. ΠœΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ: стСк Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, распрСдСлСниС памяти. ВозмоТности: ΠΏΡ€ΠΎΡ„Π°ΠΉΠ»ΠΈΠ½Π³, Π°Π½Π°Π»ΠΈΠ· покрытия ΠΊΠΎΠ΄Π°, Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ бСсконСчной рСкурсии, интСрактивная ΠΎΡ‚Π»Π°Π΄ΠΊΠ° скриптов. ПО для Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π»ΠΎΠ³ΠΎΠ² xdebug: Webgrind – Π²Π΅Π±-интСрфСйс для ΠΏΡ€ΠΎΡ„Π°ΠΉΠ»ΠΈΠ½Π³Π° Xdebug, написанный Π½Π° PHP, MacGDBp – Mac OS X ΠΊΠ»ΠΈΠ΅Π½Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ PHP прилоТСния ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Xdebug. Linux GUI kcachegrind. БСсплатный. Π˜Π½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ΡΡ с ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ IDE. Π‘ΠΌ Profiling PHP Applications With xdebug. ΠŸΡ€ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΎΠΏΡ†ΠΈΠΈ Π² php.ini:

Π±ΡƒΠ΄Π΅Ρ‚ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ var_dump() ΠΈ сообщСния ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ….

Xhprof β€” Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ PHP ΠΎΡ‚ facebook. Π’Ρ€Π΅Π±ΡƒΠ΅Ρ‚ установки Π½Π° сСрвСр ΠΈ настройки. ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒ врСмя выполнСния ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, использованиС памяти, врСмя оТидания, количСство Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅. Π­Ρ‚ΠΎ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ доступно ΠΈΠ· рСпозитория PECL. ΠŸΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΡƒΡ‚ [Ρ‚Ρ‹Ρ†]. Π’Π°ΠΊ ΠΆΠ΅ ΠŸΡ€ΠΎΡ„ΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ° php-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ xhprof & FirePHP. Из прСимущСств сильно Π½Π΅ Π³Ρ€ΡƒΠ·ΠΈΡ‚ систСму, ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π½Π° Π±ΠΎΠΉ. БСсплатный.

DBG (PHP Debugger and Profiler) β€” Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ PHP. Π’Ρ€Π΅Π±ΡƒΠ΅Ρ‚ установки Π½Π° сСрвСр ΠΈ настройки. ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° тСстовом ΠΈΠ»ΠΈ/ΠΈ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ сСрвСрС ΠΈ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ скрипты локально ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎ, ΠΈΠ· IDE ΠΈΠ»ΠΈ консоли. ΠŸΠ»Π°Ρ‚Π½Π°Ρ/бСсплатная вСрсии.

ZendDebug β€” Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ PHP, Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² состав Zend Studio (платная IDE). Π’Ρ€Π΅Π±ΡƒΠ΅Ρ‚ установки Π½Π° сСрвСр ΠΈ настройки. ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ практичСски всС Ρ‚ΠΎΠΆΠ΅, Ρ‡Ρ‚ΠΎ ΠΈ xdebug, GUI Π² IDE Zend Studio ΠΈΠ»ΠΈ Zend Server. ΠŸΠ»Π°Ρ‚Π½Ρ‹ΠΉ. Π§ΡƒΡ‚ΡŒ Π½ΠΈΠΆΠ΅ рассмотрим Π΅Π³ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ.

Memtrack β€” Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ PHP. ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΠΈΡΠΊΠ°Ρ‚ΡŒ ΡƒΡ‚Π΅Ρ‡ΠΊΠΈ памяти. Π£Π΄ΠΎΠ±Π½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ скрипты запускаСмыС ΠΏΠΎ ΠΊΡ€ΠΎΠ½Ρƒ ΠΈΠ»ΠΈ Π² качСствС Π΄Π΅ΠΌΠΎΠ½Π°. БСсплатный. Π‘ΠΌ. [Ρ‚Ρ‹Ρ†]

APD Advanced PHP debugger β€” Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ PHP. Π‘Π»Π°Π±Ρ‹ΠΉ ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚ xdebug, Π½ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ Π² сСбС возмоТности memtrack. ΠŸΠ»ΠΎΡ…ΠΎ интСгрируСтся с IDE, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹ΠΉ интСрфСйс (см. [Ρ‚Ρ‹Ρ†]). БСсплатный.

FirePHP β€” класс, написан Π½Π° php + Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ для FireFox. Π”Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΡΡ‹Π»Π°Ρ‚ΡŒ ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½Ρ‹Π΅ сообщСния Π² консоль Firebug с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π²Ρ‹Π·ΠΎΠ²Π° php ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ². Вся информация посылаСтся Ρ‡Π΅Ρ€Π΅Π· Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ X-FirePHP-Data, Ρ‚Π΅ΠΌ самым Π½Π΅ ΠΏΠ΅Ρ€Π΅ΡΠ΅ΠΊΠ°ΡΡΡŒ с основным ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ΠΎΠΌ страниц. БСсплатный. Π‘ΠΌ. ΠžΡ‚Π»Π°Π΄ΠΊΠ° PHP срСдствами Firebug

php-console β€” написан Π½Π° php + Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ для Google Chrome. Аналог FirePHP, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Google Chrome, Π½ΠΎ нСсколько с Π΄Ρ€ΡƒΠ³ΠΈΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΠΎΠΌ. БСсплатный. Π‘ΠΌ. php-console

PHP_Debug класс, написан Π½Π° php. ΠŸΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π² ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅ PHP ΠΊΠΎΠ΄Π°, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡƒΡ‚ΡŒ выполнСния скрипта, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ всС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, врСмя выполнСния, Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹Π΅ запросы, watch пСрСмСнныС… Π­Ρ‚Π° информация собираСтся Π²ΠΎ врСмя выполнСния скрипта, ΠΈ отобраТаСтся ΠΏΠΎ Π΅Π³ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡŽ ΠΈ ΠΏΠΎΡ‚ΠΎΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использована Π² любой ΠΌΠΎΠΌΠ΅Π½Ρ‚. БСсплатный.

ΠžΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠΈ Π² соврСмСнных CMS/CMF/Framework. Π˜Ρ… Π½Π΅ рассматриваСм, Ρ‚.ΠΊ. Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ ΠΎΠ½ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ спСцифику ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹ ΠΏΠΎΠ΄ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΡƒ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π½Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ использованиС ΠΈΡ… ΠΈΠ·Π²Π½Π΅ (IDE) ΠΈΠ»ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Π±Π΅Π· Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² своих Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ….

Для сбора ΠΈ Π°Π½Π°Π»ΠΈΠ·Π° ΡƒΠ·ΠΊΠΈΡ… мСст Π² Π²Π°ΡˆΠΈΡ… прилоТСниях ΠΈΠ½ΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ пригодится ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΠ° Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠΈ syslog, см [Ρ‚Ρ‹Ρ†].

ВСрнСмся ΠΊ ZendDebug. Π’Π°ΠΊ ΠΊΠ°ΠΊ я Π² основном ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡΡŒ Zend Studio, Ρ‚ΠΎ ΠΌΠ½Π΅ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π½ΠΎ с Π½ΠΈΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ. Он позволяСт сразу ΠΏΠΎΠ½ΡΡ‚ΡŒ Ρ…ΠΎΠ΄ выполнСния скрипта, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΡŽ ΠΏΠΎ ΠΊΠΎΠ΄Ρƒ ΠΈΠ· IDE. НС Π½ΡƒΠΆΠ½Ρ‹ Π½ΠΈΠΊΠ°ΠΊΠΈΠ΅ сторонниС инструмСнты, ΠΊΡ€ΠΎΠΌΠ΅ IDE. Π­Ρ‚ΠΎ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ, Ρ‚Π°ΠΊ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ настроил ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΡˆΡŒΡΡ.

ΠžΡ‚Π»Π°Π΄ΠΊΠ° ΠΈ ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ скриптов Π² Zend Studio Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ двумя способами ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ xdebug ΠΈΠ»ΠΈ ZendDebug. Волько Π²ΠΎΡ‚ ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ сайта с xdebug Ρƒ мСня Π½Π΅ Π·Π°Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΎ, ΠΏΠΈΡˆΠ΅Ρ‚ Ρ‡Ρ‚ΠΎ нСльзя Ρ‚Π°ΠΊ β€” Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΡ‚Π»Π°Π΄ΠΊΠ°.

ΠŸΡ€ΠΎ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ ΠΊΠΎΠ΄Π° писали Π΅Ρ‰Π΅ Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π° Zend Studio 5.5 [Ρ‚Ρ‹Ρ†]. Π‘ Ρ‚Π΅Ρ… Π²Ρ€Π΅ΠΌΠ΅Π½ ΠΌΠ°Π»ΠΎ Ρ‡Ρ‚ΠΎ измСнилось. Но я столкнулся с ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ, ΠΊΠΎΠ³Π΄Π° web сСрвСр ΠΈ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹ΠΉ ΠΊΠΎΠ΄ находится Π½Π° ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ сСрвСрС. Часто Ρ‚Π°ΠΊΠΈΠ΅ пСсочницы Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ ΠΈΠ·Π²Π½Π΅, Π° ΠΎΡ‚Ρ€Ρ‹Ρ‚Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½ΡƒΠΆΠ½Ρ‹Π΅ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎΡ€Ρ‚Ρ‹. Но Ссли ΠΊ Ρ‚Π°ΠΊΠΎΠΉ пСсочницС Π΅ΡΡ‚ΡŒ доступ ΠΏΠΎ SSH, Ρ‚ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ZendDebug всС Ρ‚Π°ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ, Π½Π΅ мСшая Ρ„Π°Π΅Ρ€Π²ΠΎΠ»Ρƒ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ свою Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ.

ЗабСгая Π²ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΡ‚ΠΌΠ΅Ρ‡Ρƒ, Ρ‡Ρ‚ΠΎ для этого Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ SSH Ρ‚ΡƒΠ½Π½Π΅Π»ΡŒ. НСмного ΠΎ Ρ‚ΠΎΠΌ, Π·Π°Ρ‡Π΅ΠΌ SSH Ρ‚ΡƒΠ½Π½Π΅Π»ΡŒ Π½ΡƒΠΆΠ΅Π½ Π² этом случаС.

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Zend Studio ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΡƒΠ΅Ρ‚ сСанс ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΠ² HTTP запрос Π½Π° ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½Ρ‹ΠΉ сСрвСр. Π­Ρ‚ΠΎΡ‚ запрос содСрТит ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ адрСса (IP-адрСс ΠΈ Π½ΠΎΠΌΠ΅Ρ€ ΠΏΠΎΡ€Ρ‚Π°), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ZendDebug (установлСнный Π½Π° сСрвСрС) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΏΡ€ΠΈ запускС Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ Zend Studio, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅Ρ‚Ρ€Π°Π½ΡΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅. ΠšΡΡ‚Π°Ρ‚ΠΈ, ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ сам сСанс ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ°ΠΊ ΠΈΠ· IDE, Ρ‚Π°ΠΊ ΠΈ ΠΈΠ· Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° установив ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚, поставляСмый вмСстС с Zend Studio, Π±ΡƒΠ΄Π΅Ρ‚ довольно ΡƒΠ΄ΠΎΠ±Π½ΠΎ.

ΠΊΠ°ΠΊ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ php ΠΊΠΎΠ΄. image loader. ΠΊΠ°ΠΊ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ php ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ php ΠΊΠΎΠ΄-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ php ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° php. Visual Studio code прСдоставляСт Ρ‚Π°ΠΊΡƒΡŽ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ условии установки Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ PHP Debug (marketplace, github).

ΠžΠ±Ρ‹Ρ‡Π½Π°Ρ отладочная сСссия Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ мСсто, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² случаС, ΠΊΠΎΠ³Π΄Π° ΠΊΠΎΠ΄, WEB сСрвСр ΠΈ IDE находятся Π½Π° локальном ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅.

Но Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ WEB сСрвСр Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ с IDE брандмауэрами, ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ, прокси-сСрвСрами Ρ‚.Π΄. Π’ΡƒΡ‚-Ρ‚ΠΎ ΠΈ пригодится SSH Ρ‚ΡƒΠ½Π½Π΅Π»ΡŒ.

Π’ случаС с Ρ‚ΡƒΠ½Π½Π΅Π»Π΅ΠΌ процСсс установлСния сСанса ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ состоит ΠΈΠ· Π΄Π²ΡƒΡ… основных этапов:
β€” создания SSH туннСля;
β€” настройки Zend Debugger, для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ своСго Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° Ρ‡Π΅Ρ€Π΅Π· SSH Ρ‚ΡƒΠ½Π½Π΅Π»ΡŒ.

Π‘Ρ…Π΅ΠΌΠ° ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½ΠΎΠΉ сСссии Ρ‡Π΅Ρ€Π΅Π· SSH Ρ‚ΡƒΠ½Π½Π΅Π»ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ‚ Π²ΠΈΠ΄:
ΠΊΠ°ΠΊ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ php ΠΊΠΎΠ΄. image loader. ΠΊΠ°ΠΊ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ php ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ php ΠΊΠΎΠ΄-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ php ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° php. Visual Studio code прСдоставляСт Ρ‚Π°ΠΊΡƒΡŽ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ условии установки Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ PHP Debug (marketplace, github).
ΠžΠ±Ρ‹Ρ‡Π½Π°Ρ отладочная сСссия Ρ‡Π΅Ρ€Π΅Π· SSH Ρ‚ΡƒΠ½Π½Π΅Π»ΡŒ

Zend Studio, ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠΎΡ€Ρ‚ 10137. Π•Π³ΠΎ ΠΈ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… Π΄Π°Π»Π΅Π΅. МоТно Π½Π°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΠΎΡ€Ρ‚, Ссли это Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ SSH туннСля Π² Linux ΠΈΠ»ΠΈ Mac OS X ΠΌΠΎΠΆΠ½ΠΎ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС:
ssh :127.0.0.1: @ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

Для создания SSH туннСля Π² Microsoft Windows, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ PuTTY. ПослС создания Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ SSH соСдинСния, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Ρ‚ΡƒΠ½Π½Π΅Π»ΡŒ.
ΠΊΠ°ΠΊ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ php ΠΊΠΎΠ΄. image loader. ΠΊΠ°ΠΊ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ php ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ php ΠΊΠΎΠ΄-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ php ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° php. Visual Studio code прСдоставляСт Ρ‚Π°ΠΊΡƒΡŽ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ условии установки Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ PHP Debug (marketplace, github).

Π‘ΠΎ стороны IDE ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΡΠ»ΡƒΡˆΠ°ΡŽΡ‚ΡΡ ΠΏΠΎΡ€Ρ‚ 10137 ΠΈ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ IP адрСс 127.0.0.1
ΠΊΠ°ΠΊ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ php ΠΊΠΎΠ΄. image loader. ΠΊΠ°ΠΊ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ php ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ php ΠΊΠΎΠ΄-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ php ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° php. Visual Studio code прСдоставляСт Ρ‚Π°ΠΊΡƒΡŽ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ условии установки Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ PHP Debug (marketplace, github).

ΠŸΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° тСнулирования Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ пригодится ΠΈ для Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ†Π΅Π»Π΅ΠΉ. НапримСр Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°ΠΌΠΈ Π΄Π΅Π»Π°Ρ‚ΡŒ SQL-Π΄Π°ΠΌΠΏΡ‹ Π‘Π£Π‘Π”, ΠΊΠΎΠ³Π΄Π° удалСнная Π±Π°Π·Π° Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ соСдинСниС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с 127.0.0.1 ΠΈ Ρ‚.Π΄.

Π”ΡƒΠΌΠ°ΡŽ ΠΈΠ· списка Π²Ρ‹ΡˆΠ΅ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ смоТСт Π½Π°ΠΉΡ‚ΠΈ сСбС ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ инструмСнт Π½Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ дСнь. И Ρ‡Ρ‚ΠΎ Π±Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° приносила Π΅Ρ‰Π΅ большС ΡƒΠ΄ΠΎΠ²ΠΎΠ»ΡŒΡΡ‚Π²ΠΈΡ, Π° Π½Π° вопрос β€” Β«Π§Ρ‚ΠΎ ΡΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ? ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π»Π΅ΠΆΠΈΠΌ?Β», Π±Ρ‹Π» всСгда ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚.

ΠŸΡ€ΠΈΡΡ‚Π½ΠΎΠΉ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΈ скриптов Π±Π΅Π· ошибок, спасибо Π·Π° Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠžΡ‚Π»Π°Π΄ΠΊΠ° β€” PHP: ΠžΡΠ½ΠΎΠ²Ρ‹

Π’ΠΈΠΏΡ‹ ошибок

НаиболСС простыС ΠΈ понятныС ошибки β€” синтаксичСскиС. Они связаны ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ записан Π½Π΅Π²Π΅Ρ€Π½ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π·Π°Π±Ρ‹Ρ‚Π° Ρ‚ΠΎΡ‡ΠΊΠ° с запятой Π² ΠΊΠΎΠ½Ρ†Π΅ инструкции. Π’ Π²Ρ‹Π²ΠΎΠ΄Π΅ Ρ‚Π°ΠΊΠΈΡ… ошибок всСгда ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ„Ρ€Π°Π·Ρ‹ parse error ΠΈ syntax error. Для ΠΈΡ… исправлСния Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ‚ΠΎ мСсто Π² ΠΊΠΎΠ΄Π΅, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ошибка, ΠΈ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π° Π½Π΅Π³ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ.

Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° большая Π³Ρ€ΡƒΠΏΠΏΠ° ошибок называСтся ошибками программирования. К Π½ΠΈΠΌ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, относятся:

Π­Ρ‚ΠΈ ошибки ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Ρ‚Ρ€ΡƒΠ΄Π½Π΅Π΅, Ρ‡Π΅ΠΌ синтаксичСскиС. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΠ½ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ, Π±ΠΎΠ»Π΅Π΅ Ρ€Π°Π½Π½Π΅ΠΌ Π²Ρ‹Π·ΠΎΠ²Π΅.

ПослСдний Ρ‚ΠΈΠΏ ошибок β€” логичСскиС ошибки. Π˜ΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ ошибки Π±Ρ‹Π²Π°Π΅Ρ‚ ΠΊΡ€Π°ΠΉΠ½Π΅ слоТно, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, Π½ΠΎ Π²Ρ‹Π΄Π°Π΅Ρ‚ Π½Π΅Π²Π΅Ρ€Π½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚. ΠŸΡ€ΠΈΡ‡Π΅ΠΌ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π²Ρ‹Π΄Π°Π΅Ρ‚ Π½Π΅Π²Π΅Ρ€Π½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π½Π΅ всСгда, Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ лишь для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. Π’ ΠΏΠΎΠ΄Π°Π²Π»ΡΡŽΡ‰Π΅ΠΌ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° кроСтся Π² Π½Π΅Π²Π΅Ρ€Π½ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠ΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠ΅Ρ€Π΅ΠΏΡƒΡ‚Π°Π½Π° опСрация, ΠΈ вмСсто слоТСния выполняСтся Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅.

ΠžΡ‚Π»Π°Π΄ΠΊΠ°

БущСствуСт мноТСство способов ΠΎΡ‚Π»Π°Π΄ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π½ΠΎ ΠΊΠ°ΠΊΠΎΠΉ Π±Ρ‹ способ Π²Ρ‹ Π½ΠΈ Π²Ρ‹Π±Ρ€Π°Π»ΠΈ, общая идСя ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ сводится ΠΊ Π°Π½Π°Π»ΠΈΠ·Ρƒ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² процСссС Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠΎΠ΄Π°.

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

На Π₯СкслСтС, Π² обсуТдСнии ΡƒΡ€ΠΎΠΊΠΎΠ², Π½Π°ΠΌ ΠΏΠΈΡˆΡƒΡ‚: «ΡΡ‚ΠΎΡ‚ ΠΊΠΎΠ΄ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚», ΠΈ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ свой ΠΊΠΎΠ΄. ВСроятно, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π΄ΡƒΠΌΠ°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Π² Ρ‡Π΅ΠΌ ошибка ΠΈ Π½Π°ΠΉΡ‚ΠΈ Π΅Π΅, просто посмотрСв Π½Π° ΠΊΠΎΠ΄, Π½ΠΎ это совсСм Π½Π΅ Ρ‚Π°ΠΊ. Глядя Π½Π° Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠΎΠ΄, Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Π° Ρ‡Ρ‚ΠΎ, собствСнно, пошло Π½Π΅ Ρ‚Π°ΠΊ, ΠΈ я ΡƒΠΆΠ΅ Π½Π΅ Π³ΠΎΠ²ΠΎΡ€ΡŽ ΠΏΡ€ΠΎ Π½Π°Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ самой ошибки. Нам Ρ‚Π°ΠΊΠΆΠ΅ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ сообщСниС ΠΎΠ± ошибкС ΠΈ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ.

Один ΠΈΠ· способов ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π²ΠΎ врСмя выполнСния ΠΊΠΎΠ΄Π° связан с использованиСм ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠΎΠ². ΠžΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ с популярными Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°ΠΌΠΈ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ ΠΏΠΎ шагам, отслСТивая Π»ΡŽΠ±Ρ‹Π΅ измСнСния. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΈΡ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π²ΠΎ мноТСствС статСй (Π³ΡƒΠ³Π»ΠΈΡ‚ΡŒ ΠΏΠΎ запросу: xdebug php ).

Π’ срСдС Π₯СкслСта ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° Π½Π΅Ρ‚, поэтому здСсь ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ (Π½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠΉ Ρ‚Ρƒ ΠΆΠ΅ Π·Π°Π΄Π°Ρ‡Ρƒ) β€” отладочная ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ. Π‘ΡƒΡ‚ΡŒ такая ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π² Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠΌ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ΅, Π½ΠΎ для Π²Ρ‹Π²ΠΎΠ΄Π° значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ обычная ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ Π½Π° экран:

Π­Ρ‚Π° функция добавляСт Π² Π²Ρ‹Π²ΠΎΠ΄ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ строки, Π½ΠΎ особСнно ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΅ с массивами, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ скоро ΠΈΠ·ΡƒΡ‡ΠΈΠΌ.

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹

ΠΊΠ°ΠΊ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ php ΠΊΠΎΠ΄. mentors c5a2c0d5be5b134e174aad63fdd756ea3c31e3cbf86a0a112936dda315ec1a93. ΠΊΠ°ΠΊ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ php ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ php ΠΊΠΎΠ΄-mentors c5a2c0d5be5b134e174aad63fdd756ea3c31e3cbf86a0a112936dda315ec1a93. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ php ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° mentors c5a2c0d5be5b134e174aad63fdd756ea3c31e3cbf86a0a112936dda315ec1a93. Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° php. Visual Studio code прСдоставляСт Ρ‚Π°ΠΊΡƒΡŽ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ условии установки Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ PHP Debug (marketplace, github).

ΠžΡΡ‚Π°Π»ΠΈΡΡŒ вопросы? Π—Π°Π΄Π°ΠΉΡ‚Π΅ ΠΈΡ… Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Β«ΠžΠ±ΡΡƒΠΆΠ΄Π΅Π½ΠΈΠ΅Β»

Π’Π°ΠΌ отвСтят ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π₯СкслСта ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ студСнты.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Настройка ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ php-ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Xdebug

ΠΊΠ°ΠΊ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ php ΠΊΠΎΠ΄. bd46fb1ad90da774c3e933d87427f266. ΠΊΠ°ΠΊ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ php ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ php ΠΊΠΎΠ΄-bd46fb1ad90da774c3e933d87427f266. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ php ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° bd46fb1ad90da774c3e933d87427f266. Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° php. Visual Studio code прСдоставляСт Ρ‚Π°ΠΊΡƒΡŽ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ условии установки Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ PHP Debug (marketplace, github).

ΠšΠ»Π°ΡΡΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Π½Π° PHP β€” использованиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ error_log, print_r ΠΈ var_dump. Π˜Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Π½Π΅ ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ сам процСсс Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠΎΠ΄Π°. Однако с этой Π·Π°Π΄Π°Ρ‡Π΅ΠΉ справляСтся Xdebug β€” ΠΎΠ΄ΠΈΠ½ ΠΈΠ· самых популярных инструмСнтов срСди PHP-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ хотят Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, Π° Π½Π΅ ΡΡ‚Ρ€Π°Π΄Π°Ρ‚ΡŒ.

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ рассмотрСна ΠΎΡ‚Π»Π°Π΄ΠΊΠ° PHP с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ связки Xdebug ΠΈ VSCode. Если Π²Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ΡΡŒ PHPStorm, Ρ‚ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Ρ‚ΠΎΠΆΠ΅ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ β€” настройка выполняСтся Π΄Π°ΠΆΠ΅ ΠΏΡ€ΠΎΡ‰Π΅ ΠΈ быстрСС.

ВозмоТности Xdebug

Xdebug β€” это Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ для PHP, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ Π² IDE Ρ‡Π΅Ρ€Π΅Π· Π±Ρ€Π΅ΠΉΠΊ-ΠΏΠΎΠΉΠ½Ρ‚Ρ‹. Π‘ Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Как ΠΈΡ‚ΠΎΠ³ β€” ошибки Π² ΠΊΠΎΠ΄Π΅ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ быстрСС, Ρ‡Π΅ΠΌ ΠΏΡ€ΠΈ использовании error_log, print_r ΠΈ var_dump.

Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° полСзная функция β€” трассировка стСка. Она Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΈΠ²Π΅Π» ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊ ошибкС. Он содСрТит ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹Π΅ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ. Xdebug Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΡ„Π°ΠΉΠ»Π΅Ρ€ для поиска ΡƒΠ·ΠΊΠΈΡ… мСст ΠΊΠΎΠ΄Π°. Если Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ внСшниС инструмСнты, Ρ‚ΠΎ получится Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. НапримСр, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ WebGrind β€” Π½Π°Π±ΠΎΡ€ PHP-скриптов для ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ Π²Ρ‹Π²ΠΎΠ΄Π° статистики прямо Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Xdebug Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ, какая Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠΎΠ΄Π° выполняСтся Π² процСссС запроса. Π­Ρ‚ΠΎ Π΄Π°Π΅Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΊΠΎΠ΄ ΠΏΠΎΠΊΡ€Ρ‹Ρ‚ тСстами.

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Xdebug

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Xdebug PHP Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ CGI. ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ хостинга Timeweb, ΠΊΠ°ΠΊ Π΅Π³ΠΎ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ.

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡΡ ΠΊ сСрвСру Ρ‡Π΅Ρ€Π΅Π· SSH. МоТно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ консоль Π² ΠΏΠ°Π½Π΅Π»ΠΈ управлСния Timeweb.

ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ Π² ΠΏΠ°ΠΏΠΊΡƒ cd-bin сайта:

Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ссылку ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

ΠžΡΡ‚Π°Π΅ΠΌΡΡ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ cgi-bin ΠΈ ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ Ρ„Π°ΠΉΠ» php.ini:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ PHP Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π°ΠΌΠΈ Π² Ρ„Π°ΠΉΠ»Π΅ php.ini. Он находится Π² ΠΏΠ°ΠΏΠΊΠ΅ cgi-bin. ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Π΅Π³ΠΎ ΠΈ вставляСм Π² ΠΊΠΎΠ½Ρ†Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ строки:

Если ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎΡ€Ρ‚ занят, ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ Π΄Ρ€ΡƒΠ³ΠΎΠΉ. МоТно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ стандартный для Xdebug β€” 9000. Π’ качСствС idekey я ΡƒΠΊΠ°Π·Π°Π» VSCODE. Если Π±ΡƒΠ΄Π΅Ρ‚Π΅ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ для PHPStorm, Π²ΠΏΠΈΡˆΠΈΡ‚Π΅ Π΅Π³ΠΎ.

ΠΊΠ°ΠΊ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ php ΠΊΠΎΠ΄. 2020 11 23 123547. ΠΊΠ°ΠΊ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ php ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ php ΠΊΠΎΠ΄-2020 11 23 123547. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ php ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 2020 11 23 123547. Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° php. Visual Studio code прСдоставляСт Ρ‚Π°ΠΊΡƒΡŽ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ условии установки Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ PHP Debug (marketplace, github).

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π»ΠΈ Xdebug, создадим Π² ΠΊΠΎΡ€Π½Π΅ сайта Ρ„Π°ΠΉΠ» Myfile.php со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ содСрТимым:

ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Ρ„Π°ΠΉΠ» Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ ΠΈ провСряСм, Ρ‡Ρ‚ΠΎ всС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΡƒΠΊΠ°Π·Π°Π½Ρ‹ Π²Π΅Ρ€Π½ΠΎ.

ΠžΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ

Π§Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ PHP Debug Π½Π° локальной машинС, Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ связь IDE ΠΈ сСрвСра Ρ‡Π΅Ρ€Π΅Π· SSH-Ρ‚ΡƒΠ½Π½Π΅Π»ΡŒ.

На Linux всС выполняСтся ΠΏΠ°Ρ€ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄.

ΠŸΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ сохраняСтся Π½Π° локальной машинС, Π° ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΉ добавляСтся Π½Π° сСрвСр. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎΠ± этом, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎ настройкС SSH Π½Π° Windows, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΈΠ· этой ΡΡ‚Π°Ρ‚ΡŒΠΈ.

На Linux Ρ‚ΡƒΠ½Π½Π΅Π»ΡŒ создаСтся ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

На Windows Ρ‚ΡƒΠ½Π½Π΅Π»ΡŒ настраиваСтся Ρ‡Π΅Ρ€Π΅Π· ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ PuTTY.

БСссия сохранится ΠΏΠΎΠ΄ Ρ‚Π΅ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΡ‹ ΡƒΠΊΠ°Π·Π°Π»ΠΈ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Session. Π’ дальнСйшСм Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ просто Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π΅Π΅ Π·Π°Π½ΠΎΠ²ΠΎ.

Настройка VSCode

Π§Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Xdebug Π² VSCode, установим Π΄Π²Π° Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ: Sync-Rsync ΠΈ PHP Debug. ΠŸΠ΅Ρ€Π²ΠΎΠ΅ Π½ΡƒΠΆΠ½ΠΎ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΌ сСрвСром, Π²Ρ‚ΠΎΡ€ΠΎΠ΅ β€” для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ скриптов.

ПослС установки Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ создаСм Π½Π° локальной машинС ΠΏΡƒΡΡ‚ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Π΅Π΅ Ρ‡Π΅Ρ€Π΅Π· VSCode: Β«Π€Π°ΠΉΠ»Β» β€” Β«ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΏΠ°ΠΏΠΊΡƒΒ».

ΠŸΡƒΡ‚ΡŒ /home/user/.ssh/id_rsa β€” это мСсто, Π³Π΄Π΅ Π»Π΅ΠΆΠΈΡ‚ Ρ„Π°ΠΉΠ» с Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ SSH-ΠΊΠ»ΡŽΡ‡Π°.

ПослС сохранСния Ρ„Π°ΠΉΠ»Π° settings.json Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Π² VSCode F1, выполняСм ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Sync Remote to Local. Π’ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ, ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ Π² настройках, ΡΠΊΠΎΠΏΠΈΡ€ΡƒΡŽΡ‚ΡΡ всС Ρ„Π°ΠΉΠ»Ρ‹ с сСрвСра.

ΠΊΠ°ΠΊ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ php ΠΊΠΎΠ΄. 2020 11 23 124754. ΠΊΠ°ΠΊ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ php ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ php ΠΊΠΎΠ΄-2020 11 23 124754. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ php ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 2020 11 23 124754. Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° php. Visual Studio code прСдоставляСт Ρ‚Π°ΠΊΡƒΡŽ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ условии установки Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ PHP Debug (marketplace, github).

На этом настройка IDE Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π°. МоТно ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ ΠΊ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΊΠΎΠ΄Π°.

Debug ΠΊΠΎΠ΄Π°

ΠœΡ‹ настроили срСду, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ разбСрСмся, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Xdebug.

ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π΅ΠΆΠΈΠΌ Β«ΠžΡ‚Π»Π°Π΄ΠΊΠ°Β» ΠΈ провСряСм, Ρ‡Ρ‚ΠΎ Π²Ρ‹Π΄Π΅Π»Π΅Π½ ΠΏΡƒΠ½ΠΊΡ‚ Listen for XDebug. НаТимаСм Π½Π° Π·Π΅Π»Π΅Π½Ρ‹ΠΉ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ ΠΈΠ»ΠΈ Π½Π° ΠΊΠ»Π°Π²ΠΈΡˆΡƒ F5.

ПослС ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ сайта Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ возвращаСмся Π² VSCode. Π’ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒΡΡ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈ ΠΈΡ… значСния Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠΎΠ΄Π° Π² Π±Ρ€Π΅ΠΉΠΊ-ΠΏΠΎΠΉΠ½Ρ‚Π΅. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ ΠΏΠΎ ΠΊΠΎΠ΄Ρƒ, отслСТивая ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ шагС.

ΠΊΠ°ΠΊ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ php ΠΊΠΎΠ΄. 2020 11 23 125256. ΠΊΠ°ΠΊ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ php ΠΊΠΎΠ΄ Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ php ΠΊΠΎΠ΄-2020 11 23 125256. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ php ΠΊΠΎΠ΄. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 2020 11 23 125256. Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° php. Visual Studio code прСдоставляСт Ρ‚Π°ΠΊΡƒΡŽ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ условии установки Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ PHP Debug (marketplace, github).

ΠŸΡ€ΠΎΡ„ΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ с Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ²

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Xdebug profiler Π½Π° ΠΏΠΎΠ»Π½ΡƒΡŽ ΠΌΠΎΡ‰Π½ΠΎΡΡ‚ΡŒ, установим WebGrind. Π­Ρ‚ΠΎ Π½Π°Π±ΠΎΡ€ скриптов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ статистику Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅. Π‘ Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ список Π²Ρ‹Π·Π²Π°Π½Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, количСство Π²Ρ‹Π·ΠΎΠ²ΠΎΠ², ΠΎΠ±Ρ‰Π΅Π΅ Π·Π°Ρ‚Ρ€Π°Ρ‡Π΅Π½Π½ΠΎΠ΅ врСмя Π½Π° Π²Ρ‹Π·ΠΎΠ² ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅.

Π—Π°Ρ‚Π΅ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„Π°ΠΉΠ» config.php, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ находится Π² распакованной ΠΏΠ°ΠΏΠΊΠ΅ webgrind-master. Π’ Π½Π΅ΠΌ ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠ΅ΠΌ Π΄Π²Π΅ строки:

ПослС Ρ‚Π°ΠΊΠΎΠΉ настройки ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π½Π° Xdebug ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ наш тСстовый скрипт Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅. Π—Π°Ρ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΏΠΎ ссылкС www.domain/webgrind-master. Π’ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅ΠΌ спискС Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹ΠΉ скрипт ΠΈ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Update.

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡƒΡŽ статистику. Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠΌΠ΅Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Π³Ρ€Π°Ρ„Ρ‹ Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ β€” для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ€Π΅ΠΆΠΈΠΌ Show Call Graph.

Π’Ρ‹Π²ΠΎΠ΄: ΠΊΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Xdebug?

Xdebug сущСствСнно ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ PHP-ΠΊΠΎΠ΄Π°. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Ссли ваш Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ инструмСнтарий удовлСтворяСт всС потрСбности Π² поискС Π±Π°Π³ΠΎΠ², Ρ‚ΠΎ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ смысла Π½Π΅Ρ‚. Но, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°, Π±Π΅Π· Xdebug слоТно провСсти ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠ΅ тСстированиС ΠΈΠ»ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ Ρ‡Π΅Ρ€Π΅Π· ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Π΅ Π±Ρ€Π΅ΠΉΠΊ-ΠΏΠΎΠΉΠ½Ρ‚Ρ‹ с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ пошаговой ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΊΠΎΠ΄Π°.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *