Отладка удаленных скриптов PHP CLI - PullRequest
1 голос
/ 02 февраля 2011

Вот моя ситуация:

Я разрабатываю сценарии PHP CLI на удаленном сервере, используя Eclipse IDE с плагином RSE (позволяет редактировать файлы непосредственно на сервере).

Теперь мне нужно отладить эти сценарии аналогично Java (точки останова, показать содержимое переменных, ...).

Я нашел кое-что, что могло бы сделать эту работу: XDebug и PDT (плагин Eclipse). Проблема в том, что когда я пытаюсь запустить режим отладки, Eclipse сообщает, что на локальной машине нет отладчика PHP. Я думаю, это должно быть установлено на сервере.

Я хотел бы знать, возможно ли использовать PDT и XDebug для отладки удаленных сценариев и, если это так, как их настроить. Если нет, я хотел бы знать, существуют ли другие решения. Кажется, что XDebug использует TCP, поэтому должна быть возможность удаленной отладки. Я могу изменить свою IDE, если это необходимо.

Сервер работает под управлением Ubuntu 10.04 с php5-cli, а на компьютере разработчика с eclipse работает Win7 32bit.

Спасибо

Ответы [ 3 ]

4 голосов
/ 02 февраля 2011

Да, это возможно, вам нужно включить xdebug в файле PHP.ini удаленного сервера и убедиться, что порт xdebug (по умолчанию 9000) не заблокирован никакими брандмауэрами.

Страница xdebug по настройке удаленной отладки.

2 голосов
/ 03 февраля 2011

Вот полная процедура для людей с такой же проблемой:

Сначала установите RSE, следуя инструкциям на этом сайте: http://help.eclipse.org/galileo/index.jsp?topic=/org.eclipse.rse.doc.user/gettingstarted/g1installing.html

Следуйте инструкциям, приведенным в этом руководстве, чтобы установить XDebug на сервер: http://ubuntuforums.org/showthread.php?t=525257

Установите PDT на Eclipse и внесите следующие изменения: - под Windows / Preferences, перейдите под PHP / Debug и измените PHP Debugger на XDebug - под Windows / Preferences, зайдите в PHP / Debug / Installed Debuggers и настройте XDebug. Измените значение в поле «Принимать удаленный сеанс (JIT)» на «любое».

Откройте перспективу Remote System Explorer, выберите каталоги сценариев и создайте из них проект (щелкните правой кнопкой мыши, создайте удаленный проект). Теперь он появится в перспективе PHP.

Пусть Eclipse запустится и перейдет на сервер (например, через SSH). Запустите скрипт, который вы хотите отладить. Затем в Eclipse появится окно, предлагающее вам выбрать, с каким «локальным» (в нашем случае удаленным через RSE) файлом, с которым вы хотите связать работающий скрипт. Обычно предлагаемый сценарий по умолчанию должен быть правильным, поскольку он работает на сервере.

Теперь у вас должна быть визуальная отладка с Eclipse для ваших скриптов PHP-CLI!

0 голосов
/ 02 февраля 2011

Вы хотите выполнить отладку, когда можете взаимодействовать со сценарием в CLI, или вы просто хотите запустить его, а затем пройтись по коду? Я предполагаю, что ваш вопрос касается проблемы, заключающейся в том, что вы не можете получить доступ к сценарию напрямую через URL. Если это ваша проблема, то я думаю, что самым простым решением было бы отладить обычный PHP-сайт, который требует вашего скрипта. Затем вы можете сначала запустить XDebug с этого веб-сайта и перейти к сценарию с помощью оператора require / include-оператор.

index.php:

<?php require_once("../../../../../dir1/[...]/cliscript.php");

С наилучшими пожеланиями

Раффаэль

...