2013-05-13 19 views
15

Przeczytałem ten dokument: http://xdebug.org/docs/remoteXDebug: jak debugować aplikację konsoli zdalnej?

Mogę debugować moją aplikację internetową.
Ale debugger nie uruchamia się dla polecenia konsoli.

Mój plik .ini dla XDebug (to działa):

$ cat /etc/php5/fpm/conf.d/xdebug.ini 
zend_extension=/usr/lib/php5/20090626/xdebug.so 
xdebug.idekey="PHPSTORM" 
xdebug.remote_connect_back=1 
xdebug.remote_enable=1 

.ini dla cli jest taka sama.

Próbowałem też dodać export XDEBUG_CONFIG="idekey=PHPSTORM remote_enable=1 remote_connect_back=1" przed debugowaniem, ale to nie pomogło.

Jak mogę to włączyć?

+2

Czy możesz sprawdzić [ten wpis na blogu] (http://blog.jetbrains.com/webide/2012/03/new-in-4-0-easier-debugging-of-remote-php-command-line-scripts/) dla instrukcje? – CrazyCoder

Odpowiedz

40

Krótka odpowiedź:

Musimy zestaw 2 zmiennych, te dwa linie:

export PHP_IDE_CONFIG="serverName={SERVER NAME IN PHP STORM}" 
export XDEBUG_CONFIG="remote_host=$(echo $SSH_CLIENT | awk '{print $1}') idekey=PHPSTORM" 

aktualizacja: Dobre IDE (np PhpStorm) zrobi to za Ciebie, po prostu ustaw interpreter PHP na zdalny.

+3

Druga linia powinna wystarczyć. – brablc

+1

W moim przypadku potrzebna była również pierwsza linia. – EasyCo

+0

Próbowałem umieścić drugą linię w '/ etc/php5/cli/php.ini', ale ponieważ było to dziwne i nic nie działało, szukałem go w" Ubuntu [eksport] (http://stackoverflow.com/questions/10841837/the-meaning-of-export-command-in-ubuntu) "i dowiedział się, że powinien być uruchomiony w ternminal przed uruchomieniem skryptu php. To nie jest oczywiste z twojej odpowiedzi na twoje własne pytanie. – iVenGO

1

Dzięki @DmitryR za odpowiedź!

Jednak, aby uniknąć exportin XDEBUG_CONFIG każdym razem, kiedy otworzyć konsolę, dodałem drugą linię (to było dla mnie za mało) do mojego

~/.bashrc pliku

export XDEBUG_CONFIG="remote_host=$(echo $SSH_CLIENT | awk '{print $1}') idekey=PHPSTORM" 
Powiązane problemy