Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
php:xdebug [2016/01/13 08:43] mirocowphp:xdebug [2025/03/07 23:57] (текущий) mirocow
Строка 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
Строка 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
Строка 84: Строка 142:
   * cd /opt   * cd /opt
   * mkdir pydbgpproxy   * mkdir pydbgpproxy
-  * wget https://github.com/Mirocow/pydbgpproxy/archive/master.zip - Установить прокси (Python Remote Debugging Client) +  * cd pydbgpproxy 
-  * unzip master.zip+  * 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   * ln -s $(pwd)/pydbgpproxy /usr/local/bin/pydbgpproxy
   * запустить /usr/loca/bin/pydbgpproxy -i 0.0.0.0:9001 -d 9000   * запустить /usr/loca/bin/pydbgpproxy -i 0.0.0.0:9001 -d 9000
Строка 229: Строка 289:
  
 exit 0 exit 0
 +</code>
 +
 +<code sh>
 +# chmod 775 /etc/init.d/pydbgpproxy.sh
 +# chkconfig pydbgpproxy.sh on
 </code> </code>