Я использую Zend Framework 3 с PhpStorm, я устанавливаю LAMP на Ubuntu 18.04.
При отладке кода я включаю значок отладки [расширение] в браузере Chrome, затем включаю запуск прослушивания в PhpStorm, затем устанавливаю точки останова в методе контроллера домашней страницы, откуда загружается страница, а затем обновляю страницу, чтобы проверить, останавливается ли она на точки останова.
Я не уверен, что я упустил в настройке, не могу отладить код. Любая помощь очень ценится.
и т. д. / PHP / 7.2 / доступные моды / xdebug.ini
xdebug.show_error_trace = 1
zend_extension=/usr/lib/php/20170718/xdebug.so
xdebug.remote_autostart = 1
xdebug.remote_enable = 1
xdebug.remote_handler = dbgp
xdebug.remote_host = 127.0.0.1
xdebug.remote_log = /tmp/xdebug_remote.log
xdebug.remote_mode = req
xdebug.remote_port = 9001
xdebug.idekey = PHPSTORM
xdebug.remote_connect_back=1
и т. д. / php / 7.2 / apache2 / php.ini
[xdebug]
xdebug.remote_enable = 1
xdebug.remote_autostart = 1
Детали версии PHP:
shoebaamir123@ubuntu:~$ php -v
PHP 7.2.10-0ubuntu0.18.04.1 (cli) (built: Sep 13 2018 13:45:02) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.2.10-0ubuntu0.18.04.1, Copyright (c) 1999-2018, by Zend Technologies
with Xdebug v2.6.0, Copyright (c) 2002-2018, by Derick Rethans
@Alexey "Выполнить -> Проверка отладки веб-сервера" -> "Путь для создания сценария проверки: / var / www / html / crud" и "URL-адрес сценария проверки: 127.0.0.1"
обновите свой вопрос, добавив снимок экрана с его выводом
Также в информационном блоке выводится «Пожалуйста, настройте локальный и веб-путь к сценарию проверки».
@Alexey Я добавил снимок экрана, о котором идет речь
После того, как я нажму «Подтвердить», появится сообщение «Указанный URL недоступен по причине:« Запрос не выполнен с кодом состояния 404 »».
вам нужно создать локальную или удаленную конфигурацию веб-сервера, я думаю, это в разделе «Настройки -> Сборка, выполнение, развертывание -> Развертывание», затем «+» и выберите корневой каталог вашего проекта, в который он помещает тестовый файл отладки. подтверждать
Примечание: ваш уровень языка PHP - 5.6, а ваш интерпретатор - 7.2.12 ;-)
@Alexey После того, как я нажму "+", он покажет мне 6 вариантов FTP, FTPS, SFTP, Локальный или смонтированный сервер, На месте, Группа серверов. Какой мне выбрать?
@lucid да Уровень языка PHP отображается 5.6, а поле отключено, как я могу его изменить?
зависит от того, где находятся файлы вашего проекта. Моя ставка должна быть "Местная". Затем выберите папку, в которой находится корень вашего документа, введите URL-адрес веб-сервера и переключитесь на вкладку «Сопоставления» и заполните три поля. Затем попробуйте сценарий проверки еще раз и просмотрите журнал доступа вашего веб-сервера, чтобы узнать, где он пытается найдите сценарий временной проверки, затем соответствующим образом скорректируйте пути в сопоставлениях, пока не получите результаты в окне сценария проверки.
@Alexey После настройки путей он показывает вывод в окне сценария проверки, но отладчик все еще не останавливается в точке останова. Скриншот прилагаю.
Пожалуйста, покажите свой журнал xdebug для такой неудачной попытки отладки. Если Xdebug видит флаг «отладить меня» (cookie в вашем случае; хотя у вас есть xdebug.remote_autostart = 1, поэтому он будет пытаться отлаживать каждый отдельный запрос), он должен попытаться установить соединение (и зарегистрировать этот факт).
Можете ли вы добавить к своему вопросу содержание (если есть) /tmp/xdebug_remote.log?
@Aamir Вы настроили ключ IDE внутри расширения Chrome Debug?
Вероятно, в вашем composer.json есть следующее: "php": "5.6", измените его на "php": "7.2", и это изменит ваш уровень языка PHP.






Выберите «Удаленный веб-сервер» в окне «Проверка отладки веб-сервера» и выберите там сервер, который вы создали ранее, в соответствии с моим комментарием.
После того, как я выбрал «Удаленный веб-сервер» и проверил его, он показывает зеленые флажки в списке, но все еще не останавливается на точке останова.
1. замените снимок экрана зелеными галочками с удаленным веб-сервером в вашем вопросе; 2. обновите свой вопрос, указав способ запуска веб-страницы при отладке, происходит ли это с кнопкой отладки из PHPStorm? Параметр GET отладки передается браузеру, а затем веб-серверу?
Я добавил скриншот. При отладке кода я включаю значок отладки [расширение] в браузере Chrome, затем включаю запуск прослушивания в PHPSTORM, затем устанавливаю точки останова в методе контроллера домашней страницы, откуда загружается страница, а затем обновляю веб-страницу, чтобы проверить, останавливается ли она на точки останова. Это приложение Zend 3.
1. можете ли вы добавить конфигурацию отладки в PHPStorm (кнопка «Добавить конфигурацию» на 4-м снимке экрана) и указать «crud server» как «Сервер» / как «Начальный URL», выбрать любой браузер и дать ему какое-то имя (не независимо от того, как), а затем 2. нажмите кнопку «Отладка», которая находится второй справа от «Добавить конфигурацию», и посмотрите, останавливается ли она, затем
Кроме того, для тестирования поместите точку останова в первую строку index.php или в свою точку входа, а не в контроллер.
Добавлен crud server
В браузере отображается сообщение "Этот сайт недоступен" 127.0.0.1 отказано в подключении.
в конфигурации вашего сервера 'crud server' измените 127.0.0.1 с правильным именем хоста для вашего проекта - тем, которое вы тестируете в своем браузере
Теперь он показывает панель инструментов отладки, но не останавливается на точке останова в index.php.
я должен сначала запустить локальный php-сервер в терминале? "php -S 127.0.0.0:8080 -t crud / public / crud / public / index.php" Потому что в настоящее время я просто получаю доступ к проекту с localhost / crud / public
Неважно, как вы запускаете свой веб-сервер, главное, чтобы модуль PHP xdebug был загружен. У меня сложилось впечатление, что вы уже запускаете nginx или apache или что-то еще, поскольку в диалоговом окне сообщается, что он может подключиться к порту 9001. Я не знаю, что вы имеете в виду, когда говорите, что получаете доступ к своему проекту с "localhost / crud / public", но это URL-адрес, который вы вводите в свой браузер, путь должен быть настроен в конфигурации сервера "crud server" слишком. На данный момент у меня нет идей, я могу сказать, что ваша конфигурация сервера: хост, порт, путь должны отражать те, которые вы тестируете в своем браузере.
Хорошо, спасибо Алексею, я постараюсь найти способ с этим работать. Думаю, я пропустил некоторую настройку.
обязательно обновите свой вопрос решением и, возможно, руководством. Не заменяйте вопрос / скриншоты, просто добавьте раздел ОБНОВЛЕНИЕ и разместите там
В порядке. Я добавлю, как только найду решение
Что выводит «Выполнить -> Проверка отладки веб-сервера», когда вы нажимаете кнопку «Проверить»? Вы создали конфигурацию сервера развертывания?