Различия

Показаны различия между двумя версиями страницы.

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

Следующая версия
Предыдущая версия
php:xdebug [2015/08/19 22:14] – внешнее изменение 127.0.0.1php:xdebug [2025/03/07 23:57] (текущий) mirocow
Строка 1: Строка 1:
-{{tag>php debugger xdebug phpdbg}}+{{tag>php debugger xdebug phpdbg phpstorm ide}}
  
 ====== PHP отладчик XDebug ====== ====== PHP отладчик XDebug ======
Строка 6: Строка 6:
  
 {{:php:single-diagram.png?500|}} {{:php:single-diagram.png?500|}}
 +
 +==== v2.* ====
 +
 +<code>
 +[Xdebug]
 +zend_extension=xdebug.so
 +xdebug.remote_enable=1
 +xdebug.remote_autostart=1
 +xdebug.remote_connect_back=off
 +xdebug.remote_host=host.docker.internal
 +;# 9000 is default (not required to set).
 +xdebug.remote_port=9000
 +</code>
 +
 +==== v3.* ====
 +
 +<code>
 +[Xdebug]
 +zend_extension=xdebug.so
 +xdebug.mode=debug
 +xdebug.start_with_request=yes
 +xdebug.client_host=host.docker.internal
 +;# 9003 is now the default (set this for old PhpStorm settings).
 +xdebug.client_port=9000
 +</code>
 +
 +==== xdebug.ini ====
 +
  
 nano ./xdebug.ini nano ./xdebug.ini
 <code> <code>
-zend_extension="/usr/lib/php5/20090626/xdebug.so"+zend_extension=xdebug.so
  
 [debug] [debug]
Строка 21: Строка 49:
 xdebug.show_mem_delta=1 xdebug.show_mem_delta=1
 xdebug.max_nesting_level=100 xdebug.max_nesting_level=100
 +xdebug.cli_color=1
 +xdebug.scream=0
 +
 +; Limits
 +xdebug.var_display_max_depth = 5; -1 No limit
 +xdebug.var_display_max_children = 256; -1 No limit
 +xdebug.var_display_max_data = 1024; -1 No limit
  
 ; trace ; trace
Строка 31: Строка 66:
 xdebug.remote_autostart=0; 1 - Не требует XDEBUG_SESSION = xdebug в параметрах или куках, 0 - требует xdebug.remote_autostart=0; 1 - Не требует XDEBUG_SESSION = xdebug в параметрах или куках, 0 - требует
 xdebug.remote_enable=1 xdebug.remote_enable=1
 +xdebug.remote_connect_back = 1
 xdebug.remote_handler=dbgp xdebug.remote_handler=dbgp
 xdebug.remote_host=127.0.0.1; - отладка на локальной машине xdebug.remote_host=127.0.0.1; - отладка на локальной машине
Строка 52: Строка 88:
 ;xdebug.dump.SERVER=HTTP_HOST, SERVER_NAME ;xdebug.dump.SERVER=HTTP_HOST, SERVER_NAME
 </code> </code>
 +
 +===== Основные настройки =====
 +
 +  * xdebug.remote_autostart
 +  * xdebug.remote_host
 +  * xdebug.var_display_max_depth = 5; -1 No limit
 +  * xdebug.var_display_max_children = 256; -1 No limit
 +  * xdebug.var_display_max_data = 1024; -1 No limit
 +
  
 ===== Web XDebug ===== ===== Web XDebug =====
Строка 59: Строка 104:
  
 ===== Console XDebug ===== ===== Console XDebug =====
 +
 +<code bash>
 +$ export PHP_IDE_CONFIG="serverName=www.host-name.ztc" && export XDEBUG_CONFIG="remote_host=192.168.1.6 idekey=xdebug" && php7.0 ./yii
 +</code>
 +  
 +Где:
 +  * **PHP_IDE_CONFIG** - Наименование сервера из "Settings / Preferences | Languages & Frameworks | PHP | Servers"
 +    * Так-же желательно установить маппирование путей (локальных и на удаленном сервере)
 +  * **XDEBUG_CONFIG**
 +    * remote_host - IP Хоста, производящего отладку
 +    * idekey - Ключ, устанавливаемый в списке серверов "Settings / Preferences | Languages & Frameworks | PHP | Servers", "Ide key(session id)"
 +
 +
 +=== Хелпер для более одного отладчика ===
  
 Если на сервере стоит более одного отладчика и в консоли по умолчанию, те в php.ini Если на сервере стоит более одного отладчика и в консоли по умолчанию, те в php.ini
 найденой по php -i, стоит другой отладчик в параметре zend_extension. найденой по php -i, стоит другой отладчик в параметре zend_extension.
- 
  
 nano ~./.bashsrc nano ~./.bashsrc
Строка 81: Строка 139:
 {{:php:multi-user-diagram3.png?500|}} {{:php:multi-user-diagram3.png?500|}}
  
-  * Установить прокси (Python Remote Debugging Client) с http://code.activestate.com/komodo/remotedebugging+  * apt-get install php5-xdebug 
-  * запустить ./pydbgpproxy -i 0.0.0.0:9001 -d 9000+  * cd /opt 
 +  * mkdir pydbgpproxy 
 +  * cd pydbgpproxy 
 +  * wget https://github.com/Mirocow/pydbgpproxy/archive/master.zip ./ - Установить прокси (Python Remote Debugging Client) 
 +  * unzip master.zip ./ 
 +  * echo "export PYTHONPATH=\${PYTHONPATH}:/opt/bin/pydbgpproxy/pythonlib" >> ~/.bashrc 
 +  * ln -s $(pwd)/pydbgpproxy /usr/local/bin/pydbgpproxy 
 +  * запустить /usr/loca/bin/pydbgpproxy -i 0.0.0.0:9001 -d 9000
   * Установить уникальный ключ для хоста.   * Установить уникальный ключ для хоста.
 +
 {{:php:proxy-config-menu.png?400|}} {{:php:proxy-config-menu.png?400|}}
 {{:php:dbgp-proxy-settings.png?400|}} {{:php:dbgp-proxy-settings.png?400|}}
Строка 94: Строка 160:
 ; configuration for php xdebug module ; configuration for php xdebug module
 ; priority=20 ; priority=20
-zend_extension=/usr/lib/php5/20090626/xdebug.so+zend_extension=xdebug.so
  
 [debug] [debug]
Строка 149: Строка 215:
 DESC="Python Remote Debugging Client" DESC="Python Remote Debugging Client"
 NAME="pydbgpproxy" NAME="pydbgpproxy"
-DAEMON=/opt/Komodo-PythonRemoteDebugging-8.0.0-77688-linux-x86_64/pydbgpproxy+DAEMON=/usr/local/bin/pydbgpproxy
 PIDFILE=/var/run/$NAME.pid PIDFILE=/var/run/$NAME.pid
 SCRIPTNAME=/etc/init.d/pydbgpproxy.sh SCRIPTNAME=/etc/init.d/pydbgpproxy.sh
Строка 223: Строка 289:
  
 exit 0 exit 0
 +</code>
 +
 +<code sh>
 +# chmod 775 /etc/init.d/pydbgpproxy.sh
 +# chkconfig pydbgpproxy.sh on
 </code> </code>