Тип Поста

Установка модуля Xdebug для PHP под Ubuntu Linux

Установка модуля Xdebug для PHP под Ubuntu Linux

Установка Xdebug

Xdebug — полезное расширение для PHP, которое позволяет производить отладку кода в удобной форме. Расширение было написано одним из разработчиком PHP - Derick Rethans и является свободно распространяемым.

В данной статье мы рассмотрим установку и начальную настройку Xdebug под операционной системой Linux и сборкой локального сервера Ampps.

xdebug2

Для начала перейдем по ссылке, где нам будет предложена помощь в выборе версии для скачивания и установки Xdebug:
http://xdebug.org/wizard.php

На этой странице необходимо ввести в текстовое поле всю информацию, которая выводится PHP-функцией phpinfo(). Чтобы быстро получить вывод этой функции, можно перейти по локальной ссылке сервера Ampps:
http://localhost/cgi-bin/phpinfo.cgi

Затем необходимо нажать комбинацию клавиш CTRL+U и в открывшемся окне с исходным кодом страницы, выбрать весь код комбинацией клавиш CTRL-A. И скопировать выбранный код в текстовое поле страницы Xdebug.

В итоге должна появиться подобная информация, которая пригодится нам в дальнейшем:

Xdebug installed: no
Server API: CGI/FastCGI
Windows: no
Zend Server: no
PHP Version: 5.6.11
Zend API nr: 220131226
PHP API nr: 20131226
Debug Build: no
Thread Safe Build: no
Configuration File Path: /usr/local/ampps/php-5.6/etc
Configuration File: /usr/local/ampps/php-5.6/etc/php.ini
Extensions directory: /usr/local/ampps/php-5.6/lib/extensions/ext

Следующий порядок действий будет основан на предложенной инструции с поправкой для локального сервера Ampps:

  1. Первым шагом будет скачивание предложенной версии Xdebug по ссылке, находящийся в первом пункте инструкции. В моей случае, это будет выглядеть таким образом:
    Download xdebug-2.4.0rc3.tgz
  2. Распаковываем архив с Xdebug в ту папку, в которую он был скачан:
    tar -xvzf xdebug-2.4.0rc3.tgz
    Получится папка с подобным именем: xdebug-2.4.0RC3
    Теперь идем в директорию:
    /usr/local/ampps/php-5.6/bin/
    Копируем файл phpize в директорию xdebug-2.4.0RC3. Важно скопировать файл phpize именно с указанной директории!
  3. Переходим в директорию xdebug-2.4.0RC3:
    cd xdebug-2.4.0RC3
  4. Запускаем команду phpize:
    ./phpize
    Если возникает ошибка:
    Cannot find autoconf.
    Please check your autoconf installation and the $PHP_AUTOCONF environment variable.
    Then, rerun this script.
    Тогда устанавливаем autoconf:
    apt-get install autoconf
    И заново запускаем команду phpize. Далее появится вывод работы этой программы, в котором важны следующие строки:
    Configuring for:
    ...
    Zend Module Api No: 20131226
    Zend Extension Api No: 220131226
    Они должны совпадать с информацией, полученной на странице Xdebug:
    PHP API nr: 20131226
    Zend API nr: 220131226
    Если они совпадают, значит мы всё делаем правильно и можно приступить к компиляции модуля Xdebug из исходных кодов.
  5. Запускаем выполнение конфигурации с указанием пути к файлу php-config:
    ./configure --with-php-config=/usr/local/ampps/php-5.6/bin/php-config
  6. Запускаем команду make
  7. Теперь копируем скомпилированный модуль Xdebug в директорию PHP:
    cp modules/xdebug.so /usr/local/ampps/php-5.6/lib/extensions/ext
  8. Редактируем конфигурацию PHP:
    nano /usr/local/ampps/conf/php-5.6.ini
    И добавляем в конец файла путь к модулю Xdebug:
    zend_extension = /usr/local/ampps/php-5.6/lib/extensions/ext/xdebug.so
  9. Сохраняемся и перезапускаем сервер apache

Теперь можно проверить через phpinfo(), что модуль установлен и загружен:
http://localhost/cgi-bin/phpinfo.cgi

xdebug3

Начальная настройка Xdebug

Настройки для Xdebug хранятся в файле php.ini. Давайте откроем его для редактирования и внесем нужные изменения:

nano /usr/local/ampps/conf/php-5.6.ini

Немного приведем в порядок код, добавив секцию Xdebug в самый конец файла. И перенесем под неё подключение модуля Xdebug:

[Xdebug]
zend_extension = /usr/local/ampps/php-5.6/lib/extensions/ext/xdebug.so

Теперь добавим несколько настроек.
Следующие настройки отвечают за то, какая дополнительная информация будет выводится на страницу при ошибке выполнения PHP-скрипта. В данном случае, это содержимое супер-глобальных массивов REQUEST, REQUEST и SERVER:

xdebug.dump.REQUEST = *
xdebug.dump.REQUEST = *
xdebug.dump.SERVER = REMOTE_ADDR,REQUEST_METHOD

Данная опция отвечает за отключение PHP-оператора подавления ошибок @, таким образом все сообщения об ошибках будут показаны:

xdebug.scream = 1

Количество вложенных объектов или массивов, которые будут отображаться на странице:

xdebug.var_display_max_children = 256

Отвечает за длину строки, выводимой через var_dump():

xdebug.var_display_max_data = 1024

Влияет на количество отображаемых на странице вложенных элементов массива или свойств объекта:

xdebug.var_display_max_depth = 16

Со всем списком возможных настроек и их значений вы можете ознакомиться в официальной документации Xdebug:
http://xdebug.org/docs/all_settings

На этом установка и настройка модуля Xdebug завершена.

Поделиться

Оставить комментарий

Вы можете использовать следующие HTML-теги:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>
Обязательно к заполнению