Конфигурация Xdebug с PHP fastcgi и затмением?

Я использовал PDT затмения в сочетании с xdebug и апачем без проблем, больше одного года. Вещи работали безупречно, и я мог сделать всю интерактивную отладку, которую я хотел из затмения (использующий мою собственную машину в качестве сервера).

Теперь я переключился от апача на nginx (и поэтому выполнения PHP теперь не как сервис Apache, но как быстро-cgi), и я не могу найти способ настроить затмение для работы приятно с xdebug. Я ни один уверен, ли проблема с xdebug или с затмением (или оба), чтобы быть уверенной.

В конфигурации затмения я уже изменил ссылку на конфигурационный файл PHP к /etc/php5/cli/php.ini.


Попытки с версией 1 php.ini

Со следующим php.ini файл

zend_extension=/usr/lib/php5/20060613/xdebug.so
  • Я вижу, что xdebug работает (например, если я делаю a var_dump() Я получаю xdebug версию его, не простой PHP один),
  • У меня не может быть интерактивной отладки от затмения: браузер открывает и загружает страницу полностью типичным URL, содержащим ...?XDEBUG_SESSION_START=ECLIPSE_DBGP&KEY=..., но выполнение программы не останавливается в точках останова
  • В нижнем правом углу затмения я вижу подозрительное сообщение: "Запуск =put_the_name_of_my_project_here =: 57%", который чередуется с "обновляющей рабочей областью" один.

Попытки с версией 2 php.ini

Если я использую эту другую версию файла (который является тем, что это работало, пока я не переключился на nginx):

zend_extension=/usr/lib/php5/20060613/xdebug.so
xdebug.remote_enable=On
xdebug.remote_autostart=On
xdebug.remote_handler=dbgp
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_mode=req

Я не могу получить доступ ни к какой странице своих сайтов вообще.


PS: Дополнительные данные по моей машине: - ОС: GNU/Linux - Ubuntu 9.10 64 бита. - PHP: 5.2.10-2ubuntu6.3 с Suhosin-патчем 0.9.7; Механизм Zend v2.2.0, Copyright (c) 1998-2009 Zend Technologies с Xdebug v2.0.4 - Eclipse: см. снимок экрана.

alt text

8
задан mac 21 June 2015 в 01:18
поделиться

4 ответа

То, что сказал Бо, правильно (не могу голосовать, так как я новенький!).

Как правило, добавление в /etc/php5/cgi/php.ini (или поиск php.ini) строк вроде

zend_extension = /PATH_TO/xdebug.so   ## <-- NOTE the absolute path, not relational (For ex on Windows: "C:\nginx-1.9.13\php\ext\php_xdebug-2.6.0RC2-7.0-vc14-nts.dll")
xdebug.remote_enable = on
xdebug.remote_handler = dbgp
xdebug.remote_host = localhost
xdebug.remote_port = 9900        ## <-- Yours will be probly 9000 or other..

делает свою работу.

Итак, после изменения,

./php-fastcgi stop
./php-fastcgi start

Это сработало для меня.

7
ответ дан 5 December 2019 в 06:53
поделиться

У меня была та же проблема, и я решил ее.
В файле /etc/php5/apache2/php.ini добавьте:

[xdebug] xdebug.remote_enable=On
xdebug.remote_autostart=off
xdebug.remote_handler=dbgp
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_mode=req


В файле /etc/php5/cli/php.ini добавьте:

zend_extension=/usr/lib/php5/20060613/xdebug.so
xdebug.remote_enable=On
xdebug.remote_autostart=off
xdebug.remote_handler=dbgp
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_mode=req


Перезапустите Apache:

sudo service apache2 restart
1
ответ дан 5 December 2019 в 06:53
поделиться

Проблема в решении "xdebug.remote_autostart = on". Если в файле конфигурации установлено "xdebug.remote_autostart = on". Это заставит Xdebug запускать сессию отладки для каждого запроса, который делается на этом сервере, без необходимости указывать в запросе, что сессия отладки нужна.

Вам нужно изменить

"xdebug.remote_autostart = off"

И перезапустить веб-сервис. В этом примере это Apache.

Вы можете прочитать больше здесь: http://doc.waterproof.fr/phpedit/debugging_profiling/configuration/debugger_with_xdebug

Удачи!

0
ответ дан 5 December 2019 в 06:53
поделиться

Попробуйте перезапустить свой php. Поскольку у вас есть php-fastcgi, перезапуск nginx, похоже, этого не делает. Когда я перезагрузил весь свой сервер, изменение вступило в силу.

2
ответ дан 5 December 2019 в 06:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: