Мне очень нравится использовать PHP встроенный сервер, и мне очень нравится внешний вид phpdbg. Это напоминает мне о подглядывать на рубиновой земле. Но у меня были проблемы с тем, чтобы заставить его работать. Можно ли запустить пользователя phpdbg
со встроенным веб-сервером?
Например, как бы я лайк это для работы:
phpdbg_break();
в кодеphp -S localhost:8000
в CLIphpdbg_break();
в браузере или через curlКогда я пытаюсь это сделать, я получаю сообщение об ошибке phpdbg_break();
это неопределенная функция.
Или же (если вышеупомянутое просто невозможно), как вы используете «webmocking» о чем говорят доктора (внизу)? Как сделать конкретный запрос с конкретным URI?
Если я правильно понимаю, phpdbg_break
это функция, предоставляемая интерпретатором, а не каким-либо расширением. Вместо использования встроенного сервера PHP, вы должны использовать сервер phpdbg и имитировать веб-запрос. Увидеть http://phpdbg.com/docs/mocking-webserver для получения информации о том, как смоделировать запрос и http://phpdbg.com/docs/simples знать, как запустить отладчик.
Чтобы сделать запрос на конкретный URI, я думаю, вам нужно установить $_SERVER['REQUEST_URI']
и опционально $_SERVER['QUERY_STRING']
указать URL-адрес, который вы хотите проверить. URI будет что-то вроде «/ путь / к / файлу», а строка запроса будет все между? и # в URL (то есть? page = 2)
Спасибо, что указали мне на phpdbg, я не знал этот инструмент, и он мне кажется очень хорошим; Я буду проверять это в ближайшие дни.
я использую psysh по той же самой причине, просто потому что это напоминает мне о pry
, Я на самом деле использую этот фрагмент кода вместо binding.pry
от ruby
,
require "path_to_psysh_on_your_local_file_system";
\Psy\Shell::debug(get_defined_vars(), $this);
Это достаточно хорошо для меня. Единственная проблема, с которой я столкнулся, это:
CGI
, с серверами nginx или apacheКроме этого, я доволен своим текущим рабочим процессом. Я был бы рад услышать мнения других людей по этому поводу.
Похоже, что здесь идет какая-то работа Удаленная отладка, который может решить мои проблемы.