Я хочу отлаживать с помощью PHPstorm IDE и xdebug моего сайта на сервере. Локально работает отлично, но когда я хочу настроить отладку с сервера, я не могу.
Я установил xdebug на сервере с такой конфигурацией:
xdebug.remote_enable=1
xdebug.remote_connect_back=1
xdebug.remote_handler=dbgp
xdebug.remote_host=MY IP
xdebug.remote_port=9000
xdebug.idekey=PHPSTORM
Затем я устанавливаю в PHPSTORM в «Редактировать конфигурации» «Удаленная отладка PHP» и «Сервер»
На сервере я положил:
Name: xxxx
Port: 80
Host: Url of my site
Debugger: Xdebug
I checked "Use Path Mapping" and in File/Directory i put my local proyect path "/home/mysite"In "Absolute path on the server" i put the path in the server where are the proyect: "/var/www/html/mysite"
В «PHP Remote Debug» я поставил:
Name: xxxx
Servers: the server created previously
IDE key: PHPSTORM
С этими настройками не работал. Я использую Chrome с расширением Xdebug с ключом Ide для включения PHPstorm.
Чего мне не хватает на работу?
Я думаю, что однажды у меня была такая же проблема на работе, когда я только что вылупился. Когда XDebug работает на другом сервере, порт механизма XDebug, конечно, открыт только в локальной системе (на удаленном сервере).
Лучший способ передать этот порт вашей машине разработки — это создать безопасный SSH-туннель между этими двумя системами. На вашем локальном компьютере в файле ssh-config (часто расположенном в ~ / .ssh / config) выполните следующее:
Host example
Hostname 192.168.2.1
User johndoe
LocalFoward 9200 127.0.0.1:9000
Теперь, когда на консоли
ssh example
он подключится к удаленной системе (192.168.2.1) с именем пользователя (логином) johndoe и туннелирует порт 9200 на удаленном компьютере к порту 9000 на вашем локальном компьютере. Конечно, вы также можете использовать один и тот же порт для обоих.
Надеюсь, это поможет. 🙂
Других решений пока нет …