Ho battuto la testa contro questo per ore.XDebug ha smesso di funzionare in PHPStorm
Sono tornato a lavorare su PHPStorm dopo non averlo usato in un paio di settimane e per qualche motivo il debug non funziona più. Funzionava, ma ora non funziona e non ho idea di cosa stia succedendo.
Sono in esecuzione su Windows, utilizzando IIS, versione PHP 5.3.8. L'XDebug è installato e ho impostato la configurazione in PHP.ini seguendo le consuete istruzioni.
Quando eseguo phpinfo() tutto sembra normale (cioè XDebug è lì).
Ho ricontrollato varie impostazioni, scaricato una versione leggermente più recente di XDebug di quanto stavo usando (Xdebug v2.2.1), ma nulla sembra dargli un calcio in vita.
Qualcuno può darmi qualche indizio su cosa posso guardare in seguito?
UPDATE:
Ho passato qualche ora in più battere la testa contro questo, e non mi sembra di aver ottenuto molto di più. XDebug è installato e caricato, secondo phpinfo(). Ho acceso la registrazione, ma in realtà non mi dica molto, tranne che XDebug è infatti collegamento ...
Log opened at 2013-02-17 04:13:07
I: Connecting to configured address/port: localhost:9000.
I: Connected to client. :-)
-> <init xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" fileuri="file:///C:/web/dbg/index.php" language="PHP" protocol_version="1.0" appid="6912" idekey="PHPSTORM"><engine version="2.2.1"><![CDATA[Xdebug]]></engine><author><![CDATA[Derick Rethans]]></author><url><![CDATA[http://xdebug.org]]></url><copyright><![CDATA[Copyright (c) 2002-2012 by Derick Rethans]]></copyright></init>
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" status="stopping" reason="ok"></response>
Log closed at 2013-02-17 04:13:07
così sembra che il problema è sul lato PhpStorm, ma non riesco a vedere dove. Ho provato a creare un progetto molto semplice, ma non sono riuscito a farlo.
Firewall che blocca le connessioni in entrata (è xdebug che si connette a IDE)? Porta errata configurata? Php.ini errato modificato (o caricato da PHP)? – LazyOne
Penso che sia il php.ini giusto, perché posso vedere da phpinfo() che XDebug è caricato, ed è la versione che ho appena installato. Potrebbe essere una cosa firewall? Avrei pensato che, mentre mi collegavo alla macchina locale, non avrebbe dovuto passare attraverso alcun firewall, ma ci penserò su. C'è un modo per ottenere XDebug per registrare cosa sta succedendo? – xtempore
http://xdebug.org/docs/all_settings#remote_log – CrazyCoder