Убедитесь, что у вас есть правильная версия XDebug для вашей версии PHP, и добавьте ее в самом начале вашего файла php.ini:
[xdebug]
zend_extension=full_path_to_your_xdebug.so
xdebug.default_enable=On
xdebug.remote_enable=On
xdebug.remote_handler="dbgp"
xdebug.remote_host="localhost"
xdebug.remote_port=9000
Затем выполните apachectl graceful
и phpinfo
и убедитесь, что XDebug присутствует и активен. Если это так, все должно работать нормально. Я знаю, что это для меня.
edit: Я ответил до прочтения всего вопроса.
перед запуском скрипта вы должны установить переменную окружения;
export XDEBUG_CONFIG="idekey=session_name"
Это может быть возможно сделать из php, но я не могу проверить это:
putenv('XDEBUG_CONFIG="idekey=session_name"');
Вы должны убедиться, что в используемом вами бинарном файле php загружено расширение XDebug, в моей системе оно есть в модуле apache, а в интерпретаторе CLI по умолчанию его нет, но я специально запускаю разные версии.
Здесь есть хорошая документация здесь