Я не совсем понял это. Всякая документация, которую я нашел, описывает, как использовать xdebug для отладки скриптов, запущенных в Apache. Мне нужно отладить скрипт CLI php.
Так, например, как передать переменную XDEBUG_SESSION_START, чтобы получить xdebug?
Я специально пытаюсь отлаживать оболочку CakePHP. Поэтому, если у кого-то есть дополнительное понимание этого, я буду очень благодарен.
Благодарю.
В руководстве Xdebug есть несколько заметок, например, например (цитирование):
export XDEBUG_CONFIG="idekey=session_name" php myscript.php
Если вы используете Eclipse PDT для разработки и отладки ваших PHP-скриптов, между Apache или CLI нет большой разницы: конфигурация lloks совершенно одинакова, вам просто не нужно настраивать веб-сервер и не указывать URL-адрес; вместо этого вы должны указать путь к исполняемому файлу PHP.
О переменной XDEBUG_SESSION_START
: ну, вы запускаете весь скрипт в режиме «debug-mode», поэтому, как я сказал бы, у вас нет понятия «отладка-сессия».
Например, вот что выглядит Window > Preference > PHP > PHP executables
для меня прямо сейчас, и, справа, что я получаю, когда нажимаю кнопку « Edit
первого:
http://img.ruphp.com/cakephp/1.png http://img.ruphp.com/cakephp/1-edit.png
И окно debug configurations
:
http://img.ruphp.com/cakephp/2.png
И запуск отладки: он просто работает:
http://img.ruphp.com/cakephp/3.png
Надеюсь это поможет 🙂
Иначе, с какими конкретными проблемами вы сталкиваетесь?
Если вы используете bash (или подобную оболочку), этот маленький скрипт может пригодиться:
alias drush-debug=drd function drd { export XDEBUG_CONFIG="idekey=cli_session" export SERVER_NAME="developer.machine" export SERVER_PORT="9000" drush "$@" unset XDEBUG_CONFIG unset SERVER_NAME unset SERVER_PORT };
или, как это было предложено комментаторами ниже
alias drd='XDEBUG_CONFIG="idekey=PHPSTORM" drush "$@"'
Таким образом, вам не нужно вручную устанавливать и отключать триггерную переменную каждый раз, когда вы хотите отлаживать.
просто добавьте следующий раздел в свой php.ini
[XDebug] xdebug.max_nesting_level = 200 xdebug.remote_enable=1 xdebug.remote_port=9000 ;xdebug.profiler_enable=1 xdebug.idekey=PHPSTORM xdebug.remote_autostart=1
и замените PHPSTORM на ваш ключ ide