Как заставить Xdebug работать на Mac

Я потратил много времени на это без конечного продукта.

  1. Установил МАМП.
  2. Найден make (устанавливался в другую папку)
  3. Установленный autoconf, который отсутствовал, поэтому я могу запустить phpize
  4. Скачал, скомпилировал и установил xdebug согласно:

http://www.xdebug.org/find-binary.php

  1. Внесены необходимые изменения для исправления php.ini.
  2. Перезапустил MAMP, но phpinfo() не показывает xdebug.

Что бы я ни делал с файлом php.ini, расположенным в /Applications/MAMP/conf/php5.3/php.ini, ничего не меняется. Сайт по-прежнему загружается нормально. Даже если я полностью уничтожу его. Тем не менее, это то, что phpinfo() показывает при загрузке.

Что я упускаю из виду?

php.ini

[xdebug]
zend_extension=/Applications/MAMP/bin/php5.3/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so
xdebug.remote_enable=1
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_autostart=1 

person Scott Elkin    schedule 05.01.2011    source источник


Ответы (4)


Сайт, на котором можно скачать предварительно скомпилированные двоичные файлы xdebug, не работал все утро (в активном состоянии), поэтому я пытался скомпилировать свой собственный.

Я только что узнал, что сайт снова в сети, загрузил файл xdebug.so, и теперь он загружается.

person Scott Elkin    schedule 05.01.2011

Современные MAC имеют два типа двоичных файлов — 32-битные и 64-битные. Убедитесь, что ваш PHP соответствует вашему xdebug: выполните file Applications/MAMP/bin/php5.3/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so, затем file /path/to/mamp/Library/modules/php5.3/libphp5.so и посмотрите, отображаются ли они оба i386 или x86_64.

person StasM    schedule 05.01.2011

Я просто сделал это, и это сработало. Вот что я сделал:

  • install PECL in order to install Xdebug
    • download http://pear.php.net/go-pear.phar
    • в каталоге загрузки выполнить php -d detect_unicode=0 go-pear.phar
    • теперь добавьте папку ~/pear/bin к вашему пути echo "export PATH=$PATH:/Users/the-user/pear/bin" >> .bash_profile
    • и сделайте изменение видимым для вашего терминала . .bash_profile
  • install Xdebug
    • now that you have PECL it's as easy as sudo pecl install xdebug
  • now you need to add a line to php.ini
    • the php.ini on my mac (Lion) is /etc/php.ini.default
    • найдите zend_extension и раскомментируйте строку, если это правильно, или измените ее, если это не так (в моем случае это было правильно)

Вот и все. Если вы не хотите отлаживать форму IntelliJ Idea. В этом случае мне пришлось скопировать /etc/php.ini.default в /etc/php.ini.

получайте удовольствие от PHP

person Micha Roon    schedule 01.03.2012
comment
Сначала мне нужно было установить autoconf, что было немного неудобно. Насколько я могу судить, MacPorts еще не полностью совместим с Xcode 4.3. - person Peter Bagnall; 01.06.2012

Просто чтобы указать на очевидное, но то, на что я продолжаю тратить время; в среде apache2 не забудьте перезапустить apache2, чтобы изменения вступили в силу.

sudo apachectl restart
person paulkmoore    schedule 15.06.2012