Отладка локальной командной строки с помощью XDebug и PHPStorm, MAMP Pro, OS X

Ранее у меня был MAMP v2.x, отлично работающий с XDebug. Он был настроен таким образом, чтобы я мог включать и выключать его для каждого подключения браузера, используя следующий JavaScript с закладкой:

javascript:(/**%20@version%200.5.2%20*/function()%20{document.cookie='XDEBUG_SESSION='+'PHPSTORM'+';path=/;';})()

javascript:(/**%20@version%200.5.2%20*/function()%20{document.cookie='XDEBUG_SESSION='+''+';expires=Mon,%2005%20Jul%202000%2000:00:00%20GMT;path=/;';})()

Я также мог бы отлаживать сценарии, выполняемые в командной строке, с включением и выключением bash:

export XDEBUG_CONFIG="idekey=PHPSTORM"unset XDEBUG_CONFIG

Я обновился до MAMP Pro 3.x и отлаживаю работу из браузера и могу включать и выключать его с помощью закладок JS. Тем не менее, я не смог заставить отладку работать с терминала. Установка по умолчанию для MAMP предназначена для автоматического запуска XDebug. Я не хочу этого, так как это предотвращает доступ к другим сайтам на сервере во время отладки, поэтому я изменил конфигурацию. Вот что у меня есть:

[xdebug]
MAMP_Xdebug_MAMP
xdebug.remote_enable=on
xdebug.remote_log="/var/log/xdebug.log"xdebug.remote_host=localhost
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_port=9000
xdebug.idekey="PHPSTORM"

Так что мой скрипт использует правильный бинарный файл php, который я связал с / usr / bin / php с /Applications/MAMP/bin/php/php5.4.30/bin/php

Я также попытался включить xdebug.remote_autostart, чтобы посмотреть, смогу ли я получить отладку на работающем терминале. Нет идти.

В Интернете есть много информации о том, как выполнять удаленную отладку командной строки, но я не нашел ничего, что поможет при локальной отладке командной строки.

Я ищу идеи о том, как я могу получить отладку локальной командной строки, работая с MAMP Pro 3.x.

ОБНОВЛЕНИЕ РЕШЕНИЯ: Я запустил скрипт с phpinfo () из cli и увидел, что по какой-то причине при вызове php из командной строки он загружает другой php.ini. Я добавил следующее в /Applications/MAMP/bin/php/php5.4.30/conf/php.ini и теперь оно работает!

zend_extension="/Applications/MAMP/bin/php/php5.4.30/lib/php/extensions/no-debug-non-zts-20100525/xdebug.so"xdebug.remote_enable=on
xdebug.remote_log="/var/log/xdebug.log"xdebug.remote_host=localhost
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_port=9000
xdebug.idekey="PHPSTORM"

Спасибо @Niloct за идею, которая привела меня к решению, хотя мне стыдно, я сначала не думал об этом. : /

3

Решение

В каталоге установки PHP, убедитесь, что конфигурация xdebug.ini в conf.d каталог, так что Cli и веб-сервер активировать xdebug:

MacBook:5.5 teixeira$ pwd
/usr/local/etc/php/5.5

MacBook:5.5 teixeira$ ls
conf.d               php-fpm.conf         php.ini
pear.conf            php-fpm.conf.default

MacBook:5.5 teixeira$ ack -i xdebug
conf.d/ext-xdebug.ini
1:[xdebug]
2:zend_extension="/usr/local/Cellar/php55-xdebug/2.2.4/xdebug.so"3:xdebug.remote_enable = 1
4:xdebug.remote_host = 127.0.0.1
5:xdebug.remote_port = 9005
6:xdebug.remote_handler = dbgp
7:xdebug.profiler_enable=0
8:xdebug.profiler_enable_trigger=1
9:xdebug.idekey=PHPSTORM
10:xdebug.remote_log="/tmp/xdebug.log"

тогда выдайте php -i | grep xdebug проверить, загружен ли он в CLI.

ТАКЖЕ, трижды проверьте порт, обратите внимание, что я использую 9005 из-за конфликта, который я имел с php-fpm,

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector