Xdebug упрощает отладку PHP-скриптов. Поскольку Xdebug является уже стандартом инструментов любого PHP-разработчика, то в этой статье я не буду рассказывать о том какой он хороший и как помагает, используйте его для ускорения вашей работы.
Если вы используете MAMP, то xdebug у вас уже есть, достаточно в настройках сервера включить Xdebug.
Если ваш веб-сервер не позволяет вам настроить Xdebug через интерфейс, не отчайвайтесь, все очень просто. Установка осуществляется с помощью одной команды. У вас должен быть установлен PECL, который входит в PEAR, который в свою очередь сейчас идет в поставке PHP, а значит он у вас уже есть.
sudo pecl install xdebug
После установки посмотрите куда PECL проинсталлировал Xdebug, в зависимости от настроек компьютера это могут быть разные директории. Предположим, что это "/usr/lib/php5/xdebug.so".
Дальше нужно прописать extention в php.ini. Откройте файл php.ini (местонахождение файла можно посмотреть через phpinfo()). У меня файл находится в /etc/php5/apache2/php.ini.
Открываем файл: sudo nano -w /etc/php5/apache2/php.ini
Переходим в конец файла: Esc + /
Прописываем строчки для Xdebug.
zend_extension="/usr/lib/php5/xdebug.so"
Перезапускаем веб-сервер sudo /etc/init.d/apache2 restart
Если установка Xdebug прошла успешно, то вы увидете на страницах своего сайта "Call Stack". Для того, чтобы Xdebug показывал информацию с посветкой, необходимо активировать эту опцию в php.ini.
Открываем файл: sudo nano -w /etc/php5/apache2/php.ini
Ищем в файле html_errors и активируем настройку html_errors = On
Перезапускаем веб-сервер sudo /etc/init.d/apache2 restart
xdebug.remote_enable=1
- для работы через IDE или удаленно
xdebug.collect_vars=1
- собирает информацию о переменных, стоит включить, если используете xdebug_get_declared_vars()
xdebug.show_local_vars=1
- отображает информацию, содержащуюся в переменных, в текущей области видимости
xdebug.collect_params =4
- отображение параметров, передаваемых при вызове функции.
0 - не отображать
1 - отображать тип и количество элементов (array(5), string(8))
2 - то же, что и "1", только с выводом подсказок (не работает в версии CLI)
3 - информация о переменных с учетом "Настройки отображения переменных"
4 - вся информация о переменных, включая имена переменных