Здравствуйте! Помогите решить такую проблему:
PC1: CentOS7 (Apache+php5)
php -v
PHP 5.4.16 (cli) (built: Jun 23 2015 21:17:27)
Copyright © 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright © 1998-2013 Zend Technologies
with Xdebug v2.3.2, Copyright © 2002-2015, by Derick Rethans
XDEBUG брал тут http://xdebug.org/download.php
<?php echo phpinfo();?>
Модуль вижу
из php.ini
..
xdebug.remote_enable=on
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
xdebug.remote_handler=dbgp
xdebug.idekey=cli
xdebug.remote_autostart=1
xdebug.remote_log=/tmp/xdebug.log
xdebug.profiler_enable_trigger=1
xdebug.profiler_enable=0
xdebug.profiler_output_dir=/tmp/profiler
xdebug.show_local_vars=1
xdebug.overload_var_dump=1
;xdebug.remote_connect_back = 1
Второй ПК - Windows, поставил sublime text + xDebug plugin, если в php.ini меняю xdebug.remote_host, то все нормально работает. Т.к в моей задачи требуется предоставить доступ нескольким разработчикам, я использовал те настройки которые написал + https://github.com/jaredly/pydbgp.git
python pydbgpproxy.py -i 10.0.8.159:9001 -d 127.0.0.1:9000
-Порт 9001 открыт
- ss -lnp на CentOS говорит что что скриптец слушает 9000 & 9001
- iptables пустой с политиками по умолчанию ACCEPT
- SELinux выкл.
- Windows Firewall остановлен
- Wireshark показывает что трафик ходит между прокси и клиентом
# python pydbgpproxy.py -i 10.0.8.159:9001 -d 127.0.0.1:9000 -l DEBUG
Далее, с клиента захожу на сайт, ниже ответ прокси в консоль.
INFO: dbgp.proxy: starting proxy listeners. appid: 2843
INFO: dbgp.proxy: dbgp listener on 127.0.0.1:9000
INFO: dbgp.proxy: IDE listener on 10.0.8.159:9001
INFO: dbgp.proxy: connection from 127.0.0.1:35189 [<__main__.sessionProxy instance at 0x277aab8>]
DEBUG: dbgp.proxy: session getting data
DEBUG: dbgp.proxy: data: ['441\x00<?xml version="1.0" encoding="iso-8859-1"?>\n<init xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" fileuri="file:///php/index.php" language="PHP" protocol_version="1.0" appid="2842" idekey="cli"><engine version="2.3.2"><![CDATA[Xdebug]]></engine><author><![CDATA[Derick Rethans]]></author><url><![CDATA[http://xdebug.org]]></url><copyright><![CDATA[Copyright © 2002-2015 by Derick Rethans]]></copyright></init>\x00']
DEBUG: dbgp.proxy: session dispatching call '<?xml version="1.0" encoding="iso-8859-1"?>\n<init xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" fileuri="file:///php/index.php" language="PHP" protocol_version="1.0" appid="2842" idekey="cli"><engine version="2.3.2"><![CDATA[Xdebug]]></engine><author><![CDATA[Derick Rethans]]></author><url><![CDATA[http://xdebug.org]]></url><copyright><![CDATA[Copyright © 2002-2015 by Derick Rethans]]></copyright></init>'
WARNING: dbgp.proxy: No server with key [cli], stopping request [<__main__.sessionProxy instance at 0x277aab8>]
INFO: dbgp.proxy: session stopped
DEBUG: dbgp.proxy: destructor [<__main__.sessionProxy instance at 0x277aab8>]
Порты менял, для теста, на совсем другие. Результат всегда такой. Буду рад помощи. Спасибо!
Apache / php5 + xDebug with proxy
Модераторы: SLEDopit, Модераторы разделов
-
Serega955
- Сообщения: 35
Re: Apache / php5 + xDebug with proxy
Решение оказалось таким:
dbgpproxy.py - создала компания ActiveState, которая занималась разработкой протокола DBGp. Почитав об этом протоколе, в источниках, близкцих к официальным, я выяснил, что данный протокол требует прохождения процедуры регистрации клиента. В notepad++ и sublime text я таких функций не нашел(или их просто нету), пришлось установить phpstorm.
dbgpproxy.py - создала компания ActiveState, которая занималась разработкой протокола DBGp. Почитав об этом протоколе, в источниках, близкцих к официальным, я выяснил, что данный протокол требует прохождения процедуры регистрации клиента. В notepad++ и sublime text я таких функций не нашел(или их просто нету), пришлось установить phpstorm.