2012-11-21 3 views
2

Netbeans를 사용하여 xdebug로 PHP 디버깅을 시도하고 있지만 netbeans에서 Socket Exception을 발생시킵니다. 그것은 중단 점에서 올바르게 멈 춥니 다. 그러나 'step over'또는 'step into'또는 아무것도 클릭하면 소켓 예외가 표시되고 충돌합니다. 어떤 도움이라도 여기에 많은 도움이 될 것입니다. 나는 이것을 해결하려고 많은 시간을 보냈습니다.xbebug를 Netbeans와 함께 PHP 소켓 예외로 사용합니다.

내가 실행 해요 환경은 다음과 같습니다

xdebug.remote_enable=on 
xdebug.remote_handler=dbgp 
xdebug.remote_host=localhost 
xdebug.remote_port=9000 
xdebug.remote_mode=req 
xdebug.remote_log="/Applications/MAMP/logs/xdebug_remote.log" 

zend_extension="/Applications/MAMP/bin/php/php5.4.4/lib/php/extensions/no-debug-non-zts-20100525/xdebug.so" 

내 IDE 로그의 출력을 제외 : php.ini 파일에서

This program makes use of the Zend Scripting Language Engine: 
Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies 
with XCache v2.0.0, Copyright (c) 2005-2012, by mOo 
with Xdebug v2.2.0, Copyright (c) 2002-2012, by Derick Rethans 

:은 phpinfo에서

Mac OSX 10.7.4 
Netbeans IDE 7.2 
MAMP Version 2.1.1 
php5.4.4 
xdebug 

다음과 같이 발생합니다.

INFO [org.netbeans.modules.parsing.impl.TaskProcessor]: Task: class org.netbeans.modules.csl.hints.GsfHintsProvider ignored cancel for 266 ms. 
INFO [org.netbeans.modules.php.dbgp.URIMapper]: class org.netbeans.modules.php.dbgp.URIMapper$1: /Applications/MAMP/htdocs/glog/index.php -> file:///Applications/MAMP/htdocs/glog/index.php 
INFO [org.netbeans.modules.php.dbgp.URIMapper]: class org.netbeans.modules.php.dbgp.URIMapper$1: /Users/Manachi/Work/myapp/index.php -> file:///Users/Manachi/Work/myapp/index.php 
INFO [org.netbeans.modules.php.dbgp.URIMapper]: class org.netbeans.modules.php.dbgp.URIMapper$1: /Users/Manachi/Work/adwaf/php/adwaf/portal/index.php -> file:///Users/Manachi/Work/adwaf/php/adwaf/portal/index.php 
INFO [org.netbeans.modules.php.dbgp.URIMapper]: class org.netbeans.modules.php.dbgp.URIMapper$1: file:///Users/Manachi/Work/adwaf/php/adwaf/portal/index.php -> /Users/Manachi/Work/adwaf/php/adwaf/portal/index.php 
SEVERE [org.netbeans.modules.php.dbgp.packets.DbgpMessage] 
SEVERE [org.netbeans.modules.php.dbgp.packets.DbgpMessage] 
INFO [org.netbeans.modules.php.dbgp.DebugSession] 
java.net.SocketException: Broken pipe 
    at java.net.SocketOutputStream.socketWrite0(Native Method) 
    at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92) 
    at java.net.SocketOutputStream.write(SocketOutputStream.java:124) 
    at org.netbeans.modules.php.dbgp.packets.DbgpCommand.send(DbgpCommand.java:92) 
    at org.netbeans.modules.php.dbgp.DebugSession.sendCommands(DebugSession.java:211) 
[catch] at org.netbeans.modules.php.dbgp.DebugSession.run(DebugSession.java:143) 
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) 
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:138) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 
    at java.lang.Thread.run(Thread.java:680) 

답변

4

이전 버전의 Xdebug가 실행 중입니다. 최신 버전을 사용하고 싶습니다 (2.2.1 현재). 둘째, XCache도 Xdebug를 간섭하는 것으로 알려져 있으므로이 기능을 사용하지 않도록 설정하는 것이 좋습니다.

+0

이것은 완벽하게 작동했습니다. - 감사합니다! xdebug가 phpinfo() 출력에 올바르게로드 된 것으로 보였기 때문에 버전이 정상이라고 생각했습니다. 나는 당신이 제안한 변경 사항 (2.2.1 및 xcache 비활성화)을 모두 만들었으며 이제는 매력을 발휘합니다. 다시 한번 감사드립니다. – Manachi

+0

이 솔루션을 http://intermarketing.merkados.com/install-xdebug-with-your-mamp-mac-os-x-10-6 사용하고 있었는데 제대로 작동하지 않았습니다. 2.2.1 버전을 소스로 설치 했으므로 이제는 괜찮습니다. –

관련 문제