2015-07-08 3 views
3

Я настроил phpstorm-xdebug, и мне удалось отладить мой код с точками останова. В эти дни я обновил php (через brew) и xdebug, и теперь у меня есть php 5.5.26 с xdebug 2.3.3. Когда я пытаюсь отлаживать тесты (и код), phpstorm говорит мне: «соединение с xdebug не установлено».Связь между phpstorm и xdebug

Я уже проверил конфигурацию Xdebug в php.ini, и это, как следовать

[xdebug] 
zend_extension="/usr/local/opt/php55-xdebug/xdebug.so" 
xdebug.remote_enable=1 
xdebug.profiler_enable=1 
xdebug.remote_port=9000 
xdebug.remote_host=127.0.0.1 
xdebug.idekey=PHPSTORM 

и валидация веб-сервер отладки говорит

enter image description here

Я попытался с различными версиями PhpStorm, удаление e переустановки php55/php55-xdebug, но без успеха.

У вас есть идея, как решить эту проблему?

+0

Установили ли вы php_fpm? Вы нажимали кнопку «Начать прослушивание» в верхней строке меню? Вы настроили свой DBGproxy (в меню инструментов) с надлежащим ключом IDE, портом и т. Д. Если вы зарегистрируете свой DBGproxy и это не удается, какой-то процесс, вероятно, уже захватил порт 9000. – YvesLeBorg

+0

Да У меня установлен php_fpm, но я думаю, что использую php с тех пор, как запускаю тесты в консоли. И да, я добавил, что DBGproxy прослушивает порт 9000 с PHPSTORM как idekey –

+0

, если php-fpm (процесс) запущен, и вы его явно не настроили (с вашим apache), он по умолчанию запускает порт 9000. попробуйте 'killall php-fpm', чтобы убедиться, что он запущен. Затем попробуйте снова отладить. – YvesLeBorg

ответ

1

После установки нового PHP, при запуске PHP-FPM, не настраивая его должным образом, то по умолчанию прослушивает порт 9000. Вот это «акции» PHP-fpm.conf из дистрибутива вам нужно отредактировать:

/usr/local/etc/php/5.5/php-fpm.conf

... 

; '[::]:port'   - to listen on a TCP socket to all addresses 
;       (IPv6 and IPv4-mapped) on a specific port; 
; '/path/to/unix/socket' - to listen on a unix socket. 
; Note: This value is mandatory. 
listen = 127.0.0.1:9000 

Он связывает порт 9000, измените его на другое значение (в моем случае изменил его на 8001). Затем соответствующим образом настройте конфигурацию вашего Apache. Вот мой пример конфигурации конфигурации (Apache 2.4), привязка к порту 8001

/usr/local/etc/apache2/2.4/extra/proxy-fcgi.conf

ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:8001/usr/local/var/www/htdocs/$1 
DirectoryIndex /index.php 

Перезапустите Apache и PHP -fpm, и вы можете использовать порт 9000 для xdebug. Запустите PhpStorm.

3

Другой способ решить эту проблему - изменить порт xdebug в php.ini. Например, для 9001:

xdebug.remote_port=9001

После этого вам необходимо изменить Xdebug порт в PhpStorm в Настройки-> Языки & Каркасы -> PHP -> Debug. Порт Xdebug установлен на 9001.