2014-11-13 5 views
0

저는 이미 Vagrant 가상 시스템에서 디버그 프로세스를 설정하려고 벽에 머리를 숙였습니다. 호스트 컴퓨터에 Windows 8.1이 있고 게스트 컴퓨터에 Ubuntu 14가 있습니다.PhpStorm + Vagrant + Xdebug를 설정하십시오.

Log opened at 2014-11-13 04:32:18 
I: Checking remote connect back address. 
I: Remote address found, connecting to 10.10.10.1:9000. 
E: Time-out connecting to client. :-(
Log closed at 2014-11-13 04:32:18 

왜 다른 IP와 포트가 :

zend_extension="/usr/lib/php5/20121212/xdebug.so" 

xdebug.remote_log=/var/xdebug.log 
xdebug.remote_host="10.0.2.2" 
xdebug.remote_port="8000" 
xdebug.remote_enable=1 
xdebug.remote_autostart=0 
xdebug.remote_handler="dbgp" 
xdebug.idekey=vagrant 

그러나 로그 파일에

내가 같은 메시지가 표시됩니다 여기에

내 xdebug.ini입니까? 어디에서 덮어 쓸 수 있는지 주위를 검색했지만 행운은 없습니다. php.ini에서 나는 아무것도 발견하지 못했습니다.

이상한 점 : PHPStorm의 내 경로 매핑 설정에서 슬래시가 백 슬래시로 바뀌 었습니다. 나는 그것이 문제가되는지 모른다.

enter image description here

편집 : 여기에 PHP는 -i의 결과는 | 그렙 Xdebug는

24:/etc/php5/cli/conf.d/20-xdebug.ini, 
47: with Xdebug v2.2.5, Copyright (c) 2002-2014, by Derick Rethans 
767:xdebug 
769:xdebug support => enabled 
777:xdebug.auto_trace => Off => Off 
778:xdebug.cli_color => 0 => 0 
779:xdebug.collect_assignments => Off => Off 
780:xdebug.collect_includes => On => On 
781:xdebug.collect_params => 0 => 0 
782:xdebug.collect_return => Off => Off 
783:xdebug.collect_vars => Off => Off 
784:xdebug.coverage_enable => On => On 
785:xdebug.default_enable => On => On 
786:xdebug.dump.COOKIE => no value => no value 
787:xdebug.dump.ENV => no value => no value 
788:xdebug.dump.FILES => no value => no value 
789:xdebug.dump.GET => no value => no value 
790:xdebug.dump.POST => no value => no value 
791:xdebug.dump.REQUEST => no value => no value 
792:xdebug.dump.SERVER => no value => no value 
793:xdebug.dump.SESSION => no value => no value 
794:xdebug.dump_globals => On => On 
795:xdebug.dump_once => On => On 
796:xdebug.dump_undefined => Off => Off 
797:xdebug.extended_info => On => On 
798:xdebug.file_link_format => no value => no value 
799:xdebug.idekey => vagrant => vagrant 
800:xdebug.max_nesting_level => 100 => 100 
801:xdebug.overload_var_dump => On => On 
802:xdebug.profiler_aggregate => Off => Off 
803:xdebug.profiler_append => Off => Off 
804:xdebug.profiler_enable => Off => Off 
805:xdebug.profiler_enable_trigger => Off => Off 
806:xdebug.profiler_output_dir => /tmp => /tmp 
807:xdebug.profiler_output_name => cachegrind.out.%p => cachegrind.out.%p 
808:xdebug.remote_autostart => Off => Off 
809:xdebug.remote_connect_back => On => On 
810:xdebug.remote_cookie_expire_time => 3600 => 3600 
811:xdebug.remote_enable => On => On 
812:xdebug.remote_handler => dbgp => dbgp 
813:xdebug.remote_host => 10.0.2.2 => 10.0.2.2 
814:xdebug.remote_log => /var/xdebug.log => /var/xdebug.log 
815:xdebug.remote_mode => req => req 
816:xdebug.remote_port => 10000 => 10000 
817:xdebug.scream => Off => Off 
818:xdebug.show_exception_trace => Off => Off 
819:xdebug.show_local_vars => Off => Off 
820:xdebug.show_mem_delta => Off => Off 
821:xdebug.trace_enable_trigger => Off => Off 
822:xdebug.trace_format => 0 => 0 
823:xdebug.trace_options => 0 => 0 
824:xdebug.trace_output_dir => /tmp => /tmp 
825:xdebug.trace_output_name => trace.%c => trace.%c 
826:xdebug.var_display_max_children => 128 => 128 
827:xdebug.var_display_max_data => 512 => 512 
828:xdebug.var_display_max_depth => 3 => 3 
+0

1)'phpinfo()'출력의 xdebug 부분을 보여줍니다. 2) 지금은 슬래시를 무시하십시오. 먼저 연결을 설정하십시오. – LazyOne

+0

당신이 제공 한 정보는 어딘가에'xdebug.remote_connect_back = 1'이 있음을 시사합니다. 어디? - 일부 배포판/설치가 1) CLI 및 Apache에서 실행되는 PHP에 대해 별도의 php.ini와 2) 여러 폴더에서 .ini 파일을 추가로로드 할 수 있으므로 까다로운 질문입니다. # 2 -'phpinfo()'출력 헤더를 확인하십시오. – LazyOne

+0

phpinfo에서 데이터를 추가했습니다. 이상하게도 xdebug.remote_connect_back = 실제로 –

답변

0

좋아는, 그래서 내 문제는 Offremote_connect_back 옵션을 설정하여 해결되었습니다. 중요 사항 : PuPHPet을 사용하여 Vagrant 구성 파일을 생성했으며, PuPHPet 구성 파일에 xDebug 구성이 저장되어 있음을 알지 못했습니다. 따라서 어떻게 든 호스트와 포트는 항상 각각 10.10.10.10과 9000이었습니다. 따라서 모든 구성은 SSH 이후가 아닌 초기 Vagrant 구성에 의해 수행되어야합니다.

관련 문제