Я хочу, чтобы команда, использующая разные компьютеры, могла отлаживать PHP на удаленном сервере, но мне трудно заставить Xdebug работать в NetBeans 7.0.1. Я пробовал много онлайн советов, но безрезультатно.
Для справки, я успешно установил Xdebug локально на машине с Windows 7, на которой работает WampServer. Поэтому я могу отлаживать PHP с точками останова в NetBeans, при условии, что для свойства Свойства проекта-> Выполнить настройку-> Запуск от имени установлено значение Локальный веб-сайт . Однако, как указано выше, моя цель - отладка в 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, я получаю бесконечное сообщение в строке состояния Ожидание соединения (netbeans-xdebug) . Когда я нажимаю кнопку «Стоп», я получаю В течение X секунд соединение от xdebug не обнаружено. Причиной может быть то, что xdebug не установлен или неправильно настроен .
Может я тут путаю локальные настройки с настройками сервера? В сообщении сказано, что xdebug.remote_host
должен быть установлен на IP-адрес компьютера, на котором запущен NetBeans , но я хочу, чтобы команда могла отлаживать с использованием компьютеров с разными IP-адресами. Проблемой может быть порт 9000, но я проверил, что он не заблокирован.
Буду признателен за любую помощь, которая может прояснить это!