Вот как я смог заставить его работать с множеством установок PHP-FPM homebrew.
Я использовал эту отличную статью для нескольких установок:
https://echo.co/blog/os-x-1010-yosemite-local-development-environment-apache-php-and-mysql-homebrew
В комментариях к этому посту вы увидите рекомендуемый способ установки xdebug, Нижняя строка:
brew install php56-xdebug
Вы должны установить xdebug для каждой версии PHP, которую вы установили. Homebrew создаст файл xdebug.ini для каждой установленной вами версии php. У каждого будет свой путь:
/usr/local/etc/php/<version # i.e. "5.6">/conf.d/ext-xdebug.ini
Эта статья устанавливает DNSMasq, который работает на порте xdebug по умолчанию (9000), поэтому вам нужно изменить порт xdebug на что-то другое (9001 работает нормально.)
Отредактируйте вышеупомянутый файл ext-xdebug.ini (или файлы, если вы установили более одной версии php.) Вот что работает для меня:
[xdebug]
zend_extension="/usr/local/opt/php56-xdebug/xdebug.so"
; General config
; Dumps local variables on exception
xdebug.show_local_vars=On
; Dump server variables
xdebug.dump.SERVER=*
; Dump global variables
xdebug.dump_globals=On
xdebug.collect_params=4;
; Tracing
;xdebug.auto_trace=On
;xdebug.trace_output_dir= /opt/local/php_traces/
xdebug.show_mem_delta=On
xdebug.collect_return=On
; Debugging. You might need to specify your host with some additional options
xdebug.remote_enable=1
: from http://devzone.zend.com/1147/debugging-php-applications-with-xdebug/
xdebug.remote_host="localhost"
xdebug.remote_port=9001
xdebug.remote_handler="dbgp"
Первые две строки - это все, что есть в исходном файле доморощенного.
Кстати, когда я установил несколько версий PHP, этот файл ext-xdebug.ini был создан только для первой установленной версии PHP. Я просто скопировал этот файл в другие местоположения версий PHP и изменил часть пути php56-xdebug в строке 2, чтобы отразить правильную версию php.
Уведомление "xdebug.remote_port = 9001"
Затем в Netbeans (я использую 8.02 Mac OSX10.10.3) я использую следующие настройки.
Перейдите в Настройки-> PHP-> Отладка
Порт отладчика: 9001
Стоп на первой линии: ( не проверено )
Оценка часов и воздушных шаров: ( проверено - есть предупреждение, но оно отлично работает для меня.)
Также стоит отметить, что для отображения xdebug с использованием phpinfo () (или командной строки php -i) мне нужно перезапустить apache с помощью:
launchctl unload -Fw ~/Library/LaunchAgents/homebrew.mxcl.php56.plist
sudo apachectl restart
launchctl load -Fw ~/Library/LaunchAgents/homebrew.mxcl.php56.plist
По какой-то причине мои настройки требуют, чтобы я запускал их каждый раз при запуске. Какая-то боль, но я включил ее в команду оболочки, чтобы легко переключаться между версиями.
Еще один совет: часть информации о пиве php56 гласит:
OS X 10.8 and newer come with php-fpm pre-installed, to ensure you are using
the brew version you need to make sure /usr/local/sbin is before /usr/sbin
in your PATH:
PATH="/usr/local/sbin:$PATH"
Пока я не добавил это в свой файл .profile_bash, изменения, которые я вносил в файл php-fpm.conf каждой версии, не распознавались. Все остальное, казалось, работало, поэтому это сбивало с толку.
Надеюсь, это сэкономит кому-то еще время и неприятности.