2015-04-17 12 views
8

Spędziłem cały dzień na tym i nadal nie mogę uruchomić debuggera w PHPStorm z Google Chrome. Są to kroki wziąłem zakresie:Debianowanie PHPStorm, Xdebug i Google Chrome

1) znajdź rozszerzenie xdebug po instalacji:

locate xdebug.so 
# => /usr/lib/php/extensions/no-debug-non-zts-20100525/xdebug.so 

2) Włóż rozszerzenia w pliku php.ini:

php –ini 
# => Configuration File (php.ini) Path: /etc 
# => Loaded Configuration File:   /etc/php.ini 
sudo vim /etc/php.ini 
zend_extension=/usr/lib/php/extensions/no-debug-non-zts-20100525/xdebug.so 

3) potwierdzają Xdebug działa:

php -v 
PHP 5.4.30 (cli) (built: Jul 29 2014 23:43:29) 
Copyright (c) 1997-2014 The PHP Group 
Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies 
    with Xdebug v2.2.3, Copyright (c) 2002-2013, by Derick Rethans 

4) Przejdź do PHPStorm> Preferencje> Języki i ramy> PHP. Kliknij ikonę rozwijania (kwadratowe pole) w tej samej linii, co "Tłumacz:". Wprowadź ścieżkę wykonywaną php. Kliknij pole odświeżania, aby wyświetlić wersję debuggera. Kliknij OK i zastosuj.

enter image description here

5) Przełącz przycisk „Start Nasłuchiwanie PHP Debug Connections” w PHPStorm.

enter image description here

6) Ustaw punkt przerwania w kodzie źródłowym.

enter image description here

7) Idź do tego adresu URL https://www.jetbrains.com/phpstorm/marklets/. Wybierz Wygeneruj pod Xdebug. Przeciągnij "Start debugger", "Stop debugger" i "Debuguj tę stronę" na pasku zakładek w Google Chrome.

enter image description here

8) I następnie odświeżyć stronę w przeglądarce i bez przerwy na wszystko. Próbowałem nawet używać rozszerzenia chrome google xdebug i to też nie działa. W swoim filmie, jednak pracował:

https://www.jetbrains.com/phpstorm/documentation/phpstorm-video-tutorials.jsp#10

Co ja tu brakuje?

zgodnie z poniższą odpowiedź, to co phpinfo ma rozszerzenia Xdebug:

xdebug 

xdebug support enabled 
Version 2.2.3 
IDE Key no value 

Supported protocols Revision 
DBGp - Common DeBuGger Protocol $Revision: 1.145 $ 

Directive Local Value Master Value 
xdebug.auto_trace Off Off 
xdebug.cli_color 0 0 
xdebug.collect_assignments Off Off 
xdebug.collect_includes On On 
xdebug.collect_params 0 0 
xdebug.collect_return Off Off 
xdebug.collect_vars Off Off 
xdebug.coverage_enable On On 
xdebug.default_enable On On 
xdebug.dump.COOKIE no value no value 
xdebug.dump.ENV no value no value 
xdebug.dump.FILES no value no value 
xdebug.dump.GET no value no value 
xdebug.dump.POST no value no value 
xdebug.dump.REQUEST no value no value 
xdebug.dump.SERVER no value no value 
xdebug.dump.SESSION no value no value 
xdebug.dump_globals On On 
xdebug.dump_once On On 
xdebug.dump_undefined Off Off 
xdebug.extended_info On On 
xdebug.file_link_format no value no value 
xdebug.idekey no value no value 
xdebug.max_nesting_level 100 100 
xdebug.overload_var_dump On On 
xdebug.profiler_aggregate Off Off 
xdebug.profiler_append Off Off 
xdebug.profiler_enable Off Off 
xdebug.profiler_enable_trigger Off Off 
xdebug.profiler_output_dir /var/tmp/ /var/tmp/ 
xdebug.profiler_output_name cachegrind.out.%p cachegrind.out.%p 
xdebug.remote_autostart Off Off 
xdebug.remote_connect_back Off Off 
xdebug.remote_cookie_expire_time 3600 3600 
xdebug.remote_enable Off Off 
xdebug.remote_handler dbgp dbgp 
xdebug.remote_host localhost localhost 
xdebug.remote_log no value no value 
xdebug.remote_mode req req 
xdebug.remote_port 9000 9000 
xdebug.scream Off Off 
xdebug.show_exception_trace Off Off 
xdebug.show_local_vars Off Off 
xdebug.show_mem_delta Off Off 
xdebug.trace_enable_trigger Off Off 
xdebug.trace_format 0 0 
xdebug.trace_options 0 0 
xdebug.trace_output_dir /var/tmp/ /var/tmp/ 
xdebug.trace_output_name trace.%c trace.%c 
xdebug.var_display_max_children 128 128 
xdebug.var_display_max_data 512 512 
xdebug.var_display_max_depth 3 3 
+0

Nie mam na tym komputerze PHPStorm, ale wydaje mi się, że muszę go skonfigurować przy użyciu warstwy "servers" w opcjach, w przeciwieństwie do języków i frameworków – STLMikey

Odpowiedz

4

Przede wszystkim przyjrzeć phpinfo() wyjścia w przeglądarce:

<?php 
    phpinfo(); 
    exit; 
?> 

Czasami ludzie edytować źle wersja php.ini (na przykład określona dla PHP CLI, a nie dla serwera WWW) - Spotkałem taki przypadek kilka razy w mojej praktyce. Lokalizacja tego pliku zależy od systemu i aby dowiedzieć się więcej, można przeczytać ten wpis: Dude, where's my php.ini?

Następnie należy sprawdzić określone wartości dla instancji XDebug. Jeśli potrzebujesz zmienić coś, powinieneś otworzyć php.ini i tam znaleźć sekcję [Xdebug].

W przypadku autora stwierdziliśmy, że problem był w xdebug.remote_enable.Więc poprawka była:

[Xdebug] 
xdebug.remote_enable = 1 

Również polecam przeczytać „Przewodnik instalacji Xdebug” z „JetBrains” drużyny: https://confluence.jetbrains.com/display/PhpStorm/Xdebug+Installation+Guide w którym obejmują one te same czynności, jak opisałem, ale w sposób bardziej szczegółowy.

Powiązane problemy