Назад | Перейти на главную страницу

xdebug удаленный хост centos с Mac

У меня есть сервер под управлением CentOS7, PHP7.0.7 с php-fpm и SELinux. Я пытаюсь отладить PHP-скрипт, запущенный на этом сервере. И у меня есть компьютер Mac, на котором запущен PHPstorm, на котором я собираюсь выполнить отладку.

Я следил за этим руководством по Phpstorm.

Вот что я сделал:

1) установлен xdebug на сервер

2) установите конфигурацию xdebug следующим образом:
zend_extension = "/ usr / lib64 / php / modules / xdebug.so"
xdebug.remote_enable = 1
xdebug.remote_host = "локальный хост"
xdebug.remote_port = 9099
xdebug.remote_handler = dbgp
xdebug.remote_autostart = 1
xdebug.idekey = "PHPSTORM"

3) установите конфигурацию ssh: AllowTcpForwarding yes (затем я вернул ее, так как это не помогло)

4) перезапущены php-fpm, sshd и httpd

5) в моем локальном терминале откройте ssh-соединение с сервером с указанным флагом -R
$ ssh -R 9099: localhost: 9099 пользователь @ хост

6) Изменена конфигурация xdebug в моем phpstorm для прослушивания порта 9099 и установки точки останова в index.php

7) Открыл сайт в моем браузере

Но все же мой локальный xdebug не останавливается на точке останова.

Что мне могло не хватать в этой конфигурации?

Может быть, SElinux мешает отладке?

старый вопрос, но я все равно оставлю это здесь,
так как это может хотя бы помочь кому-то с устранением неполадок

setsebool -P httpd_execmem 1

Если этот параметр включен, это логическое значение позволяет httpd выполнять программы, которым требуются адреса памяти, которые могут быть как исполняемыми, так и записываемыми. Включение этого логического значения не рекомендуется с точки зрения безопасности, поскольку оно снижает защиту от переполнения буфера, однако некоторые модули и приложения (например, приложения Java и Mono), и, как я сегодня узнал, xdebug) требуют этой привилегии.