Использование codebug с hhvm в докере на macosx
Я установил hhvm и nginx вместе в контейнере докера. Приложение хорошо работает в браузере. Я включил xdebug в надежде использовать codebug в качестве удаленного сервера для отладки. Когда я проверяю настройки моей сети, мой локальный IP-адрес - 192.168.1.11, и я настраиваю codebug для прослушивания порта 9000. В /etc/hhvm/php.ini у меня установлены следующие директивы
; php options
;
session.save_handler = files
session.save_path = /var/lib/php5
session.gc_maxlifetime = 1440
; hhvm specific
hhvm.server.port=9000
hhvm.server.type= fastcgi
hhvm.server.source_root=/var/www/app/public
hhvm.server.default_document = index.php
hhvm.log.level = Warning
hhvm.log.always_log_unhandled_exceptions = true
hhvm.log.runtime_error_reporting_level = 8191
hhvm.mysql.typed_results = false
; Xdebug options
xdebug.enable="1"
xdebug.remote_enable="1"
xdebug.idekey="xyz"
xdebug.remote_host="192.168.1.11"
xdebug.remote_port=9000
xdebug.remote_log="/hhvm.log"
hhvm.debugger.enable_debugger = true
hhvm.debugger.enable_debugger_server = true
Чтобы убедиться, что кодовый баг работает на этом порту, я запустил lsof -i :9000
на моем хосте со следующими результатами:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
Codebug 64413 acasanova 13u IPv4 0x4896ac88e35831db 0t0 TCP *:cslistener (LISTEN)
Codebug 64413 acasanova 14u IPv6 0x4896ac88dd97dfd3 0t0 TCP *:cslistener (LISTEN)
я могу бежать xdebug_start_code_coverage();
var_dump(xdebug_code_coverage_started());
и результат bool(true)
, Я знаю, что xdebug работает, и я знаю, что codebug слушает. Я пропустил какие-либо другие директивы xdebug? Также в удаленном журнале нет содержимого после нескольких запросов к приложению.
я добавил xdebug.remote_autostart=1
xdebug.remote_connect_back=0
к файлу php.ini, и я начал получать некоторую активность внутри файла remote_log.
Log opened at[2014-12-25 08:59:17]
I: Connecting to configured address/port: 192.168.1.11:9000.
I: Connected to client. :-)
-> <init xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" fileuri="file:///var/www/leonardo/public/index.php" language="PHP" protocol_version="1.0" appid="1015" idekey="xyz"><engine version=""><![CDATA[xdebug]]></engine><author><![CDATA[HHVM]]></author><url><![CDATA[http://hhvm.com/]]></url><copyright><![CDATA[Copyright (c) 2002-2013 by Derick Rethans]]></copyright></init>
<- feature_set -n max_depth -v 3 -i 2151044
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="feature_set" transaction_id="2151044" feature="max_depth" success="1"></response>
Когда я добавляю точки останова в codebug или даже в xdebug_break(); Ничего не произошло.