PHP-Debugging unter OS X - hoffnungslos?



Answers

So habe ich es gemacht:

1 - Kopieren Sie die neueste Version von xdebug.so von http://aspn.activestate.com/ASPN/Downloads/Komodo/RemoteDebugging nach / usr / libexec.

2 - Fügen Sie Folgendes zur globalen php.ini hinzu:

zend_extension="/usr/libexec/xdebug.so"
xdebug.remote_enable=1
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_autostart=1

3 - Apache neu starten und MacGDBp ausführen .

Question

Ich habe versucht:

  1. Xdebug und Eclipse. Eclipse startet einen Webbrowser, aber der Browser versucht, auf eine nicht vorhandene Datei im Eclipse-Bundle .app zuzugreifen.
  2. Xdebug und NetBeans. Es ist ein bisschen besser; Ein Browser öffnet eine Seite in / tmp mit der Aufschrift "Starten. Bitte warten ...", aber nichts passiert darüber hinaus.
  3. Xdebug und Debugclient, das CLI-Tool, das mit Xdebug geliefert wird. MacPorts (das ich benutzt habe, um PHP und Xdebug zu installieren) scheint dies nicht selbst zu installieren, und wenn ich versuche, es von Hand zu kompilieren, bekomme ich "you have strange libedit". Die Installation von libedit über MacPorts löst das nicht.
  4. Zends Debugger (der genaue Name entkommt mir gerade) und Eclipse. Ich kann mich nicht erinnern, was das Problem war, wie dies vor einiger Zeit war, aber es hat nicht funktioniert.

In Bezug auf Xdebug bin ich ziemlich zuversichtlich, dass ich es richtig installiert habe. Es zeigt sich sowohl mit einem phpinfo () in einer PHP-Datei und einem php -i in der CLI.

Wenn jemand es geschafft hat, PHP-Debugging in irgendeiner Weise auf dem Mac zu bekommen, würde ich es schätzen, wenn Sie mir mitteilen könnten, wie. Littering Code mit var_dump($foo);die(); wird schnell alt. Bonuspunkte, wenn es ohne einen Bloatware-Editor wie Eclipse oder das teure proprietäre Ding, das Zend mir verkaufen will, gemacht werden kann.

Mein Server verbindet sich über FastCGI mit PHP, falls das ein Diff macht.




Ich schätze, ich bekomme keine Bonuspunkte, aber Zend Studio funktioniert für mich auf meinem Mac und verbindet sich mit Apache, der in VMware läuft.










Wenn Sie MAMP verwenden, beachten Sie bitte, dass es 2 php.ini-Dateien enthält, die aktualisiert werden müssen. Ich brauchte Stunden, um das herauszufinden. Die beiden Dateien befinden sich in den folgenden Ordnern für MAMP 4,

/Applications/MAMP/bin/php/php5.6.25/conf/php.ini
/Applications/MAMP/conf/php5.6.25/php.ini

Wenn Sie php7 verwenden, müssen Sie stattdessen diese Dateien aktualisieren. Scrollen Sie zum Ende der Dateien und stellen Sie sicher, dass Sie die folgenden Einträge haben:

[xdebug]
zend_extension="/Applications/MAMP/bin/php/php5.6.25/lib/php/extensions/no-debug-non-zts-20131226/xdebug.so"
xdebug.default_enable=1
xdebug.remote_enable=1
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_autostart=1

Stellen Sie dann sicher, dass Sie Ihren Server neu starten, sonst werden die neuen Einstellungen nicht geladen. Um sicherzugehen, dass Xdebug richtig funktioniert, öffnen Sie Ihre MAMP-Startseite und klicken Sie auf die Registerkarte phpinfo. Suchen Sie nach xdebug in der Auflistung, sollten Sie den Abschnitt Xdebug sehen, der zeigt, dass die Erweiterung geladen und aktiviert ist, sonst stimmt etwas mit den obigen Konfigurationen nicht.

Als nächstes können Sie MacGDBp starten und es wird eine Verbindung zu Port 9000 hergestellt und Sie können Ihre Dateien debuggen.

Hinweis: Wenn Sie Wordpress entwickeln, stellen Sie sicher, dass Sie die Debugging-Sitzungen "AJAX" überspringen. Diese sind regelmäßig, da das Dashboard den Server nach Änderungen pingt. Wenn Sie die 'Pause in der ersten Zeile' in den MacGDBp-Einstellungen aktivieren, sehen Sie, dass die Ajax-Sitzungen auf der Zeile define ('DOING_AJAX').... die Sie überspringen können. Sobald Sie dann Ihr Ereignis zum Debuggen Ihres Codes ausgelöst haben.




Related