Как настроить XDebug + PhpStorm + macOS + хостинг Beget?

Ссылка скопирована
1 ответ

Никак не могу получить входящий "Incoming Connection" в шторме от Xdebug.
Хостер Beget тоже разводит руками, помочь ничем не могут.
Что делал:
- Настроил Xdebug:

zend_extension = /usr/local/php/cgi/7.4/lib/php/какие-тоцифры/xdebug.so  xdebug.remote_enable=1 xdebug.remote_host=127.0.0.1 xdebug.remote_port=9003 xdebug.idekey=PHPSTORM xdebug.remote_autostart=1

zend_extension = /usr/local/php/cgi/7.4/lib/php/какие-тоцифры/xdebug.so xdebug.remote_enable=1 xdebug.remote_host=127.0.0.1 xdebug.remote_port=9003 xdebug.idekey=PHPSTORM xdebug.remote_autostart=1

- Пробросил порт ssh -R 9003:localhost:9003 myname@webstoqe.beget.tech

- Настроил PhpStorm:

Как настроить XDebug + PhpStorm + macOS + хостинг Beget?

Как настроить XDebug + PhpStorm + macOS + хостинг Beget?

Как настроить XDebug + PhpStorm + macOS + хостинг Beget?

- Поставил бреакпоинты и ничего не приходит:

Как настроить XDebug + PhpStorm + macOS + хостинг Beget?

В чем может быть проблема?

Дополнительно:

Ответы:

Привет, могу помочь.
Для начала проверь что проброс порта работает корректно.
Если после подключения к ssh данные не передавать, то сервер закрывает соединение и при повторной попытке подключения ssh соединение будет установлено, но в консоли будет ошибка о том что порт занят. Приходилось находить на сервере процесс занимающий порт и убивать его.
Что-бы такого не происходило нужно добавить флаги пинга в команду подключения к ssh, пример

ssh -o ServerAliveInterval=60 -R 9003:localhost:9003 user@host

Если с портом всё ок и ошибок после подключения нет, то нужно проверить подтягивает ли php xdebug. Выведи phpinfo, в нём должен быть раздел xdebug с нужной версией. Если такого раздела нет то значит xdebug не установлен на сервере. Просто указать путь на xdebug.so в php.ini не прокатит.
Установка что-то типа:

sudo apt-get install php7.4-xdebug

Ну и последнее нужно проверить версию xdebug, в 3й версии изменились названия настроек в php.ini.
Например в версии 2 порт указан настройкой xdebug.remote_port а в 3й его переименовали в xdebug.client_port
Все изменения есть на офф сайте https://xdebug.org/docs/upgrade_guide

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Павел Админов Ответ

Для настройки XDebug + PhpStorm + macOS + хостинг Beget, следуйте следующим шагам:

1. Установка XDebug:
- Для начала убедитесь, что у вас установлен XDebug на вашем сервере. Можно установить его через Composer или скачать с официального сайта XDebug и установить вручную.

2. Настройка XDebug в php.ini:
- Откройте файл php.ini и добавьте следующие строки:

     zend_extension="/путь/к/xdebug.so"
     xdebug.remote_enable=1
     xdebug.remote_host=127.0.0.1
     xdebug.remote_port=9000

zend_extension="/путь/к/xdebug.so" xdebug.remote_enable=1 xdebug.remote_host=127.0.0.1 xdebug.remote_port=9000

3. Настройка PhpStorm:
- Откройте PhpStorm и перейдите в Preferences -> Languages & Frameworks -> PHP -> Debug.
- Убедитесь, что в поле Debug port указан порт 9000.
- Включите режим "Listen for PHP Debug Connections".

4. Настройка хостинга Beget:
- Зайдите в панель управления хостингом Beget и найдите раздел PHP.
- Убедитесь, что версия PHP поддерживает XDebug.
- Включите опцию "remote_enable" для XDebug.

5. Подключение к серверу:
- Запустите отладку в PhpStorm.
- Убедитесь, что в настройках конфигурации отладки указан правильный хост и порт.
- Откройте браузер и перейдите на страницу, которую хотите отлаживать.

После выполнения всех этих шагов вы сможете успешно отлаживать свой код на сервере Beget с помощью XDebug и PhpStorm на вашем Mac. Не забудьте сохранить изменения и перезапустить сервер, чтобы они вступили в силу.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно