Я хочу, чтобы команда, использующая разные компьютеры, могла отлаживать PHP на сервере удаленный, но мне трудно заставить Xdebug работать в NetBeans 7.0.1. Ive попробовал много онлайн-советов, но безрезультатно.
Для записи я успешно установил Xdebug локально на компьютере под управлением Windows 7 с WampServer. Поэтому я могу отлаживать PHP с точками останова в NetBeans, если я установил свойство Project Properties- > Run Configuration- > Run As на локальный веб-сайт. Однако, как указано выше, моей целью является отладка в NetBeans на удаленном веб-сайте.
Мой сервер - это машина Ubuntu 11.04. Я использовал вывод http://www.xdebug.org/find-binary.php, чтобы поместить на диск правильный бинарный файл. Я изменил все php.ini
файлы, которые я мог найти (в каталогах php5/apache2
и php5/cli
), чтобы включить эти строки:
zend_extension="/usr/lib/php5/20090626+lfs/xdebug.so"
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_host=localhost
xdebug.remote_port=9000
Если я проверяю веб-страницу phpinfo.php
, она говорит:
This program makes use of the Zend Scripting Language Engine:
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
with Xdebug v2.1.2, Copyright (c) 2002-2011, by Derick Rethans
Итак, Xdebug, похоже, правильно установлен. Тем не менее, когда я пытаюсь выполнить отладку в NetBeans, я получаю бесконечное сообщение строки состояния Waiting For Connection (netbeans-xdebug). Когда я нажимаю кнопку "Стоп", я получаю Нет соединения из xdebug, которое было обнаружено в течение X секунд. Причина может заключаться в том, что xdebug не установлен или неправильно настроен.
Возможно, я запутываю локальные настройки с настройками сервера здесь? Сообщение сказал, что xdebug.remote_host
должен быть установлен на IP-адрес машины, работающей с NetBeans, но я хочу, чтобы команда могла отлаживать использование машин с разными IP-адресами. Проблемой может быть порт 9000, но я проверил, что он не заблокирован.
Любая помощь, которая могла бы прояснить это, была бы оценена!