Shopware, Vagrant, PHPStorm, xDebug und Probleme beim Debugging

Hallo zusammen,

 

folgendes Szenario, wir haben sowohl Shopware 4 als auch Shopware 5 Shops in jeweils seperaten Vagrant Entwicklungsumgebung. xDebug ist installiert und eingerichtet und funktioniert auch generell in Verbindung mit PHPStorm, wenn man nicht gerade versucht Shopwareprojekte zu debuggen. Solange ich außerhalb vom “engine/Shopware/Constrollers” einen Breakpoint setze, wird auch in die entsprechende Zeile gesprungen, das Script hält an und PHPStorm liefert mir den aktuellen Wert der Variablen. Wenn ich aber z.B. in der index.php im Ordner Frontend einen Breakpoint setze, scheint der Browser in einer Ladeschleife zu hängen und ich bekomme vom Chrome ein ERR_CONNECTION_TIMED_OUT.

 

In diesem Thread hatte ich von Problemen mit IonCube in Verbindung mit xDebug gelesen:

http://forum.shopware.com/discussion/comment/135092

 

Bei einem Shopware 5 Projekt habe ich dann den Lizenzmanager deaktiviert und weitere Plugins, die IonCube verwenden, und schon funktionierte das Debugging überall. Zum weiteren Testen habe ich dann noch ein Shopware 4 Projekt genommen und dachte mir da könnte ich genauso vorgehen. Aber selbst mit allen deaktivierten Plugins funktioniert das Debuggen innerhalb des oben beschriebenen Ordners nicht. Das ist ziemlich lästig und nicht sonderlich produktiv mit zu arbeiten, wenn ich jedes mal erstmal alles erdenkliche durchgehen muss, um zu überprüfen, woran es nun wieder liegen könnte, dass das Debugging nicht funktioniert. Mal abgesehen davon, dass auch Entwickler mit nicht so viel Hintergrundwissen im Bereich Serveradministrierung, mal ein Projekt mit Vagrant starten sollen und das Debugging direkt funktioniert. Irgendwo bin ich auch auf ein Workaround gestoßen bei xDebug in Verbindung mit IonCube, dass zuerst das IonCube Modul geladen werden soll und anschließend das xDebug Modul innerhalb der php.ini. Allerdings erbrachte das auch nicht die gewünscht Verbesserung.

 

Hat jemand Ideen, bzw. weiß was da genau die Probleme mit dieser Konstellation sein könnten? Über Google findet man bezüglich dieses Themas auch nicht allzu viele Informationen.

 

Vielen Dank und viele Grüße

Niroc

Hallo Niroc,

ja, xDebug funktioniert nicht zusammen mit dem IonCube-Loader.

Wenn nötigt, würde ich mir die Plugins unverschlüsselt besorgen.

Dann kann man in Ruhe entwickeln. Eine andere Möglichkeit für Entwickler gibt es aktuell nicht.

Gruß Heiner

Hallo Heiner,

so weit habe ich mir das gedacht, dass IonCube und xDebug sich beißen. Aber wie kann es dann zu dem Phänomen kommen, dass selbst wenn alle Plugins deaktiviert sind, beim Breakpoint dennoch nicht gehalten wird (bei engine/Shopware/Constrollers/Frontend/index.php beispielsweise)? Gibt es bei Shopware 4 noch irgendwo weitere Bereiche, bei denen IonCube eine Rolle spielt außer bei den Plugins? Das will sich mir nicht so ganz erschließen.

Danke und viele Grüße

Niroc

Ja, nur Plugins haben ionCube. Aber z.B. die Plugin-Liste lädt auch deaktivierte Plugins.

Daher solltest du dieser eher aus dem Plugin-Verzeichnis verschieben.

Gruß Heiner

Hallo Heiner,

 

vielen Dank für den Tipp. Ich werde das erst einmal probieren.

 

Viele Grüße

Niroc