Есть ли интерактивный отладчик для php, например, отладчик ruby?


9

Я наблюдал Creating a weblog in 15 minutes with Rails 2 и через 9 минут в видео он показывает интерактивный отладчик рубина, который позволяет вызывать функции/методы внутри запущенного сценария.

Это выходит далеко за пределы контрольных точек и выглядит очень полезно.

Есть ли что-то для PHP, который дает подобную функциональность?

+3

Вы имеете в виду вы не хотите использовать время заслуженного эха ... метод? Ересь! 22 фев. 092009-02-22 15:03:55

2

Хотя Milen's answer является единственно правильным в 2009 году, а Xdebug по-прежнему является полезным инструментом, для его использования требуется перекомпилировать ваш PHP или отредактировать конфигурацию времени исполнения php.ini, чтобы загрузить его как общий объект. Это также означает использование конкретного клиентского приложения, которое поддерживает его сетевой протокол, такой как IDE, например, PhpStorm.

Альтернатива phpdbg, которая является интерактивным отладчиком, который ships with PHP core versions 5.6 and later и может отлаживать PHP-скрипты, написанные в соответствии с PHP 5.4 или новее.

Используя это просто:

phpdbg php_script_i_want_to_debug.php 

После того, как в отладчике, тип help для доступа к меню помощи.

Если у вас еще нет phpdbg в вашей системе, это может быть из-за того, что ваш PHP был настроен без опции --enable-phpdbg. Вы можете:

  1. пересобрать PHP, будучи уверенным, чтобы добавить --enable-phpdbg при запуске ./configure (это будет также просто построить phpdbg двоичный) или
  2. скачать phpdbg источник самостоятельно и скомпилировать его с установленной PHP (при условии, что у вас есть источник PHP). Инструкции для этого, в то время как разреженные, - here.

8

Установите xdebug, а затем используйте один из клиентов отладки, упомянутых here.