Итак, сегодня мне удалось поставить XDebug на XAMPP for Linux. Если у вас 32-битный Линукс, можете не читать оставшийся текст, для вас есть простое решение, и не одно, которое можно с легкостью найти в Сети.
О безумных благах дебаггера для ПХП даже не нужно рассказывать. На 64-битной висте/виндоус7 хдебаг никак не хотел работать (обваливалась виста; для семерки не было скомпиленной версии библиотеки)
Для тех, кто не знает:
XAMPP — пакет программ из apache+mysql+php+perl+proftpd+…
XDebug — библиотека для РНР. Позволяет отчищать от лажи скрипты на РНР. (В основном используют вкупе с IDE, например Eclipse+PDT. Позволяет расставлять брейкпоинты, отлаживать пошагово и смотреть содержимое переменных)
Если вы попали сюда из поиска, то вас мало интересуют мои приключения и поиски, поэтому сразу к делу.
Update: Дорогие будущие читатели, эта статья для вас, если:
* Вам часто нужно переключаться между разными конфигурациями веб-сервера (напирмер PHP4/5.2/5.3) или вы по другим причинам пользуетесь XAMPP под Линукс.
* Вам нужен XDebug
* У вас 64-битный Линух
* К моменту когда вы начнете читать этот пост не существует 64битного ХАМРР.
Остальные, можете не читать. Я не сравниваю ХАМРР с другими существующими решениями, просто он у меня есть, я с удовольствием пользуюсь. Я покопался в сети и не нашел решения для моей проблемы, поэтому решил поделиться с вами тут.
Linux: Ubuntu 9.10 Karmic Koala 64bit
XAMPP: v1.7.1 (with PHP 5.2.9) — думаю, для другой версии процесс будет очень похожим.
Идем сюда, выбираем нужную версию
sourceforge.net/projects/xampp/files
В моем случае — это XAMPP Linux/1.7.1
Выкачиваем файлы (допустим в каталог ~/Downloads/xampp/):
* xampp-linux-devel-*.tar.gz — содержит нужные для компиляции xdebug заголовочные файлы
* xampp-linux-*.tar.gz — сам XAMPP
Устанавливаем Ксамп и библиотеки в папку /opt
Вот отсюда: xdebug.org/download.php
выкачиваем исходники необходимой версии (я выкачал 2.1.0RC0 и 2.0.5). Я скачал в ~/Downloads/xdebug/
Распаковываем
Честно говоря, даже не знаю, нужны ли они на самом деле. Но для того, чтобы скомпилить ФФ для 32-бит из 64 вроде как нужны
Почему-то phpize наотрез отказывался работать, жалуясь на $PHP_AUTOCONFIG и $PHP_AUTOHEADER без следующей вещи:
* Открываем ~/.bashrc
* Вконце дописываем строчку:
Теперь уже в шелле:
Копируем в папку к Ксампу
Включаем библиотеку (я добавил это на 545 строке)
Счастливой отладки!
P.S.: можно удалить добавленную строчку из ~/.bashrc
О безумных благах дебаггера для ПХП даже не нужно рассказывать. На 64-битной висте/виндоус7 хдебаг никак не хотел работать (обваливалась виста; для семерки не было скомпиленной версии библиотеки)
Для тех, кто не знает:
XAMPP — пакет программ из apache+mysql+php+perl+proftpd+…
XDebug — библиотека для РНР. Позволяет отчищать от лажи скрипты на РНР. (В основном используют вкупе с IDE, например Eclipse+PDT. Позволяет расставлять брейкпоинты, отлаживать пошагово и смотреть содержимое переменных)
Если вы попали сюда из поиска, то вас мало интересуют мои приключения и поиски, поэтому сразу к делу.
Update: Дорогие будущие читатели, эта статья для вас, если:
* Вам часто нужно переключаться между разными конфигурациями веб-сервера (напирмер PHP4/5.2/5.3) или вы по другим причинам пользуетесь XAMPP под Линукс.
* Вам нужен XDebug
* У вас 64-битный Линух
* К моменту когда вы начнете читать этот пост не существует 64битного ХАМРР.
Остальные, можете не читать. Я не сравниваю ХАМРР с другими существующими решениями, просто он у меня есть, я с удовольствием пользуюсь. Я покопался в сети и не нашел решения для моей проблемы, поэтому решил поделиться с вами тут.
Система
Linux: Ubuntu 9.10 Karmic Koala 64bit
XAMPP: v1.7.1 (with PHP 5.2.9) — думаю, для другой версии процесс будет очень похожим.
Установка XAMPP
Идем сюда, выбираем нужную версию
sourceforge.net/projects/xampp/files
В моем случае — это XAMPP Linux/1.7.1
Выкачиваем файлы (допустим в каталог ~/Downloads/xampp/):
* xampp-linux-devel-*.tar.gz — содержит нужные для компиляции xdebug заголовочные файлы
* xampp-linux-*.tar.gz — сам XAMPP
Устанавливаем Ксамп и библиотеки в папку /opt
# cd ~/Downloads/xampp
# sudo tar xzf xampp-linux-1.7.1.tar.gz -C /opt
# sudo tar xzf xampp-linux-devel-1.7.1.tar.gz -C /opt
Качаем xdebug
Вот отсюда: xdebug.org/download.php
выкачиваем исходники необходимой версии (я выкачал 2.1.0RC0 и 2.0.5). Я скачал в ~/Downloads/xdebug/
Распаковываем
# tar xzf xdebug*
# cd xdebug*
Установка других библиотек
Честно говоря, даже не знаю, нужны ли они на самом деле. Но для того, чтобы скомпилить ФФ для 32-бит из 64 вроде как нужны
# sudo apt-get install ia32-libs gcc-multilib
Настраиваем переменные окружения
Почему-то phpize наотрез отказывался работать, жалуясь на $PHP_AUTOCONFIG и $PHP_AUTOHEADER без следующей вещи:
* Открываем ~/.bashrc
* Вконце дописываем строчку:
export PATH=/opt/lampp/bin:$PATH
Теперь уже в шелле:
# export PATH=/opt/lampp/bin:$PATH
# export PKG_CONFIG_LIBDIR=/usr/lib/pkgconfig
# export CC="gcc -m32"
# export CXX="g++ -m32"
Собираем Xdebug для 32-бит
# phpize
# ./configure --enable-xdebug --with-php-conig=/opt/lampp/bin/php-config --x-libraries=/usr/lib --target=i686-pc-linux
# make
Копируем в папку к Ксампу
# sudo cp modules/xdebug.so /opt/lampp/lib/php/extensions/
Конфигурируем PHP
# sudo gedit /opt/lampp/etc/php.ini
Включаем библиотеку (я добавил это на 545 строке)
zend_extension="/opt/lampp/lib/php/extensions/xdebug.so"
Запуск/перезапуск и проверка
# sudo /opt/lampp/lampp restart
# /opt/lampp/bin/php -i | grep xdebug
xdebug
xdebug support => enabled
xdebug.auto_trace => Off => Off
xdebug.collect_includes => On => On
xdebug.collect_params => 0 => 0
xdebug.collect_return => Off => Off
xdebug.collect_vars => Off => Off
xdebug.default_enable => On => On
xdebug.dump.COOKIE => no value => no value
xdebug.dump.ENV => no value => no value
...
и т.д.
Счастливой отладки!
P.S.: можно удалить добавленную строчку из ~/.bashrc