Могу ли я связать Zend PDT (затмение) с действием браузера? - PullRequest
1 голос
/ 23 мая 2011

Можно ли настроить отладчик Zend PDT в eclipse так, чтобы он достиг точки останова от действия браузера аналогично тому, как отладчик Java для eclipse?Т.е. установить точку останова, запустить отладчик, просмотреть сайт, а затем перейти на точку останова при его попадании.

Я могу отлаживать отдельные сценарии и веб-страницы, однако я пытаюсь отладить сценарий, который вызывается с веб-страницы.,Я использую Joomla и хочу иметь возможность просматривать стек зависимостей, нажимая на содержимое страницы.

Заранее благодарен за любой совет ..!

1 Ответ

7 голосов
/ 31 мая 2011

Я узнал, как это сделать, но это довольно долго. Он позволяет вам отлаживать PHP так же, как вы отлаживаете Java, так как вы можете просматривать свой сайт в браузере и заходить в отладчик только при достижении одной из точек останова. Вот конфиг для Linux.

Установка Zend Debugger

Сначала вам необходимо установить и настроить Zend Debugger:

  • Убедитесь, что у вас установлен Eclipse PDT (Инструменты разработки PHP). Если не: Добавьте этот репозиторий в список источников в меню «Справка»> «Установить новое программное обеспечение»: http://download.eclipse.org/releases/helios
  • Разверните пакет Языки программирования и выберите функцию SDK PHP Development Tools (PDT).
  • Нажмите «Далее» и установите.
  • Аналогичным образом установите Zend PDT, добавив этот репозиторий в список источников: http://downloads.zend.com/pdt
    • Разверните Функции Zend CE и выберите Функция Zend Debugger , затем нажмите Далее .
  • Перезапустите Eclipse и перейдите в Окно> Настройки> PHP> Отладка> Установленные отладчики , чтобы убедиться, что Zend Debugger установлен.
  • Настройте php.ini так, чтобы он указывал на файл ZendDebugger.so.

    • Первый тип

      php5 -i | grep "Loaded Conf"

    в терминал, чтобы найти правильный файл php.ini, который нужно отредактировать, и открыть его в текстовом редакторе

    • Следующий тип

      locate ZendDebugger.so

    в терминал и скопируйте местоположение в файл отладчика php5.

    • Добавьте эти строки в конец вашего файла php.ini:

      [Zend]
      Zend_extension = "[путь к вашему файлу ZendDebugger.so]"
      zend_debugger.allow_hosts = "127.0.0.1, [ваш IP-адрес, если требуется]"
      zend_debugger.expose_remotely = всегда
      подстановка в пути, возвращенном командой locate и вашим IP-адресом.

  • Перезапустите PHP, набрав

    sudo /etc/init.d/apache2 restart

    в терминал.

  • Затем введите

    php5 -m

    введите команду в свой терминал, чтобы убедиться, что Zend Debugger правильно настроен. Вы увидите что-то вроде:

    xmlreader
    XmlWriter
    Zend Debugger
    застежка-молния
    Zlib

    [Zend Модули] Zend Debugger

    возле конца свалки. Если вы не видите Zend Debugger, убедитесь, что вы отредактировали правильный файл php.ini и убедитесь, что путь к файлу ZendDebugger.so указан правильно. Обязательно перезапустите PHP для любых изменений для распространения.

Настройка Eclipse

Далее вам нужно будет настроить Eclipse:

  • Сначала перейдите в Окно> Настройки> PHP> Исполняемые файлы PHP и убедитесь, что последние библиотеки CLI PHP установлены и установлены по умолчанию.
  • Затем добавьте перспективу PHP Debugging в eclipse, перейдя в Window> Open Perspective> Other> PHP Debug .
  • Теперь перейдите в Окно> Настройки> PHP> Отладка и нажмите Настроить параметры проекта.
  • Выберите проект, который вы хотите отладить, и нажмите OK.

    • Установите флажок Включить конкретные настройки проекта.
    • Вот настройки, которые вам понадобятся:

    PHP Debugger: Zend Debugger
    Сервер: [локальный URL-путь к вашему проекту (следует настроить это в файле hosts)]
    Исполняемый файл PHP: 5.3.x (или позже)

    Базовый URL по умолчанию / Базовый путь: /
    Сгенерированный автоматически базовый URL: http://[local URL-адрес вашего проекта]

    • Снимите флажок «Разрыв в первой строке» и нажмите «ОК», чтобы закрыть окно конфигурации, затем снимите этот же флажок на главной странице «Отладка PHP».Нажмите Применить, чтобы сохранить настройки.
  • Далее перейдите в Окно> Настройки> PHP> PHP-серверы и добавьте новую конфигурацию сервера с URL-адресом

http://[local URL-путь к вашему проекту]

это должен быть тот же URL-адрес, что и в конфигурации вашего хоста, которую вы используете в dev ', чтобы попасть на домашнюю страницу.Дайте конфигурации имя и установите его по умолчанию.Нажмите Finish и OK, затем перезапустите Eclipse.

  • Далее перейдите к Окно> Настройки> Общие> Веб-браузер , выберите Использовать внешний веб-браузер и выберите браузер, с которым вы хотите взаимодействовать во время отладки.> Примечание: > НЕ ИСПОЛЬЗОВАТЬ FIREFOX!Zend PDT связывается с ним, и вы не можете отсоединить браузер от отладчика без удаления и переустановки Firefox.Браузер Opera лучше всего работает с Zend PDT, поэтому вот как его добавить:
  • После установки браузера Opera снова откройте «Окно»> «Установки»> «Основные»> «Настройки веб-браузера» и выберите «Создать» и «Новый».используйте эти параметры:

    Имя: Opera
    Расположение: / usr / bin / opera
    Параметр:% URL%

    нажмите OK, выберите Firefox, если он существует, и удалите его, затем проверьте Opera и нажмите OK.

  • Перезапустите Eclipse еще раз, и вы будете готовы начать отладку PHP.

Использование отладчика

  • В перспективе PHP откройте файл PHP и выберите Отладка как> веб-страница PHP в проекте.меню или выбрав стрелку вниз рядом со значком отладки.
  • Вы можете увидеть окно с предупреждением, запрашивающее подтверждение URL отладки.Удалите все после основного URL, чтобы оставить только:

    http://[local URL-адрес вашего проекта]

    какURL и нажмите ОК.

  • Если eclipse не переключается в перспективу отладки PHP автоматически, затем переключитесь на нее вручную.

  • Перейдите в браузер и перейдите по настроенному URL-адресувыше.Возможно, вам придется запустить отладчик, чтобы разрешить домашнюю страницу.Иногда вам потребуется пару раз обновить и запустить отладчик, прежде чем он полностью свяжет ваш сеанс отладки.
  • Вы можете перемещаться по сайту в обычном режиме, и отладчик попадет в ваш код в точках останова.

Устранение неполадок

  • Когда начинается сеанс отладки PHP, иногда сеанс заканчивается до загрузки страницы, и страница в браузере остается пустой.Попробуйте щелкнуть правой кнопкой мыши сеанс в представлении стека отладки и выберите Перезапустить.
  • Когда сеанс отладки запускается впервые, убедитесь, что URL-адрес в окне браузера отображается как базовый URL-адрес, который вы настроили, т.е. удалите все параметры отладчика, которые Zendдобавляет к URL.Теперь URL-адреса должны отображаться чисто.
  • Для более плавной отладки удалите все завершенные сеансы отладки из перспективы PHP Debug до завершения разработки PHP.
  • Будьте осторожны, чтобы не отключить затмение во время PHPПерспектива отладки находится в фокусе, так как для ее закрытия потребуется много времени.
...