PHP Xdebug auf OS X 10.9 Mavericks

Lesezeit: 7 Minuten

Benutzer-Avatar
grauer Fuchs

Ich habe Probleme beim Einrichten meiner PHP-Entwicklungsumgebung unter OS X nach der Installation von OS X 10.9 Mavericks.

Hier ist der Befehl, den ich zum Installieren verwende.

sudo pecl install xdebug

downloading xdebug-2.2.3.tgz ...
Starting to download xdebug-2.2.3.tgz (250,543 bytes)
.....................................................done: 250,543 bytes
66 source files, building
running: phpize
grep: /usr/include/php/main/php.h: No such file or directory
grep: /usr/include/php/Zend/zend_modules.h: No such file or directory
grep: /usr/include/php/Zend/zend_extensions.h: No such file or directory
Configuring for:
PHP Api Version:
Zend Module Api No:
Zend Extension Api No:
Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.

ERROR: `phpize' failed

Hat jemand eine Lösung oder einen Workaround?

  • Es sieht so aus, als hätten Sie kein PHP-Entwicklungspaket installiert

    – zerkms

    25. Oktober 2013 um 1:09 Uhr

  • Ich konnte die ersten paar Fehler beheben, indem ich symbolische Links zu den PHP-Bibliotheken hinzufügte. Allerdings muss ich diesen Fehler jetzt noch beheben. Autoconf kann nicht gefunden werden. Bitte überprüfen Sie Ihre Autoconf-Installation und die Umgebungsvariable $PHP_AUTOCONF.

    – grauer Fuchs

    25. Oktober 2013 um 1:15 Uhr


  • brauen installieren autoconf

    – Paul Richards

    27. Oktober 2015 um 22:32 Uhr

Benutzer-Avatar
Creaforge

Der schnelle Copy-Paste-Weg

sudo sh -c 'echo zend_extension=$(find /usr/lib/php/extensions -name "xdebug.so") >> $(php -qr "echo php_ini_loaded_file();") && apachectl restart'

Dieser Befehl führt Folgendes aus:

  • Findet die native Xdebug-Erweiterung, die mit Xcode geliefert wird
  • Fragt PHP, welche Konfigurationsdatei geladen wird
  • Fügt den Xdebug-Erweiterungspfad in der Konfigurationsdatei hinzu
  • Startet Apache neu.

Kompatibel mit Sierra, El Capitan und Yosemite mit dem gebündelten Apache, aber ungetestet mit MAMP und XAMPP.

Stellen Sie vor dem Starten des Befehls sicher, dass die Xcode-Befehlszeilentools installiert sind: xcode-select --install

  • Bestätigt auf Yosemite. Vielen Dank!

    – jeremib

    25. Juni 2014 um 20:35 Uhr

  • Auf Mavericks bestätigt, obwohl zunächst keine php.ini-Datei geladen wurde. Musste /etc/php.ini.default umbenennen und dann hat es funktioniert. Vielen Dank

    – Joan-Diego Rodríguez

    9. November 2014 um 13:00 Uhr

  • @ user2070775 versuchen Sie es umzubenennen /etc/php.ini.default zu /etc/php.ini

    – Erich

    13. Januar 2015 um 20:25 Uhr

  • Für MAMP: Entkommentieren Sie xdebug in der INI-Datei (welchen Pfad Sie finden können, indem Sie bei phpinfo() zusehen)

    – Rivenfall

    20. Januar 2015 um 13:32 Uhr


  • Läuft perfekt. Stellen Sie sicher, dass Sie eine php.ini haben.

    –Pierre

    15. September 2015 um 0:59 Uhr

Benutzer-Avatar
Dmitri Minkowski

Kenne mich mit der Verwendung nicht aus pecl. Das Abrufen von Xdebug nach einer OS X-Installation ist ziemlich einfach ohne pecl. Sie haben zwei einfache Möglichkeiten:

  1. Verwenden Sie die bereits verfügbare Version unter:

    /usr/lib/php/extensions/no-debug-non-zts-2010052/xdebug.so
    
  2. Bau dein eigenes:

    1. Stellen Sie sicher, dass Sie die Xcode CLI-Tools haben: xcode-select --install fordert Sie auf, die CLI-Tools zu installieren. Wenn die CLI-Tools installiert sind, sollte etwas drin sein /usr/include/php.

    2. Gehe zu http://xdebug.org/download.php und laden Sie den Quell-Tarball für die gewünschte Version von Xdebug herunter. Zum Beispiel: http://xdebug.org/files/xdebug-2.2.3.tgz.

    3. Extrahieren Sie den Tarball und cd in das erstellte Verzeichnis. In diesem Verzeichnis sehen Sie a README. Ab hier ist es:

      $ phpize
      Configuring for:
      PHP Api Version:         20100412
      Zend Module Api No:      20100525
      Zend Extension Api No:   220100525
      $ ./configure --enable-xdebug
      checking for grep that handles long lines and -e... /usr/bin/grep
      checking for egrep... /usr/bin/grep -E
      checking for a sed that does not truncate output... /usr/bin/sed
      [... output ...]
      $ make
      [... output ...]
      

Ihr gebaut xdebug.so ist jetzt bei modules/xdebug.so. Das phpize Es ist wichtig, mit den installierten XCode-CLI-Tools zu tun, weil phpize richtet die Build-Parameter für Ihre PHP-Version ein.

Mit Ihrer xdebug.so In der Hand von (1) oder (2) oben können Sie diesen Block dem hinzufügen php.ini von Ihnen verwendet werden php oder php-fpm:

[Xdebug]
zend_extension=<full_path_to_xdebug.so>
xdebug.remote_enable=1
xdebug.remote_host=<host running PHP (e.g. localhost)>
xdebug.remote_port=<port Xdebug tries to connect to on the host running PHP (default 9000)>

  • Abgesehen von dem sehr kleinen Detail des Pfades zu .so, der /usr/lib/php/extensions/no-debug-non-zts-20100525/xdebug.so ist, hat dies wie ein Zauber funktioniert. Ich nahm den einfachen Ausweg und machte mir nicht einmal die Mühe, meine eigene zu bauen.

    – Peter Bagall

    5. Dezember 2013 um 20:28 Uhr

  • zend_extension funktioniert nicht bei Neuinstallation. Funktioniert gut, Verlängerung. Auch vollständiger Pfad nur, wenn extension_dir nicht verwendet wird. Am besten verwenden Sie es und legen Sie alle Erweiterungen dort ab.

    – Abkrim

    9. Dezember 2013 um 16:47 Uhr


  • Ich bekomme ein Xdebug requires Zend Engine API version 220100525. The Zend Engine API version 220121212 which is installed, is newer. Fehler, wenn ich den eingebauten XCode verwende xdebug.so. Also musste ich meine eigene für XAMPP 1.8.3-4 bauen.

    – ZEITPLATZ

    23. Juli 2014 um 6:47 Uhr


Benutzer-Avatar
wal5hy

Hier gibt es zwei Probleme. Das erste ist, dass Sie Xcode-Befehlszeilentools mit dem folgenden Befehl installieren müssen:

xcode-select --install

Dies bedeutet, dass die Dateien zuvor nicht in gefunden wurden /usr/include/php/ wird verfügbar sein.

Der nächste Schritt ist die Installation autoconf genauso wie Ares in seiner Antwort zeigt.

Ich würde cd zuerst in Ihren Download-Ordner

cd ~/Downloads/
curl -OL http://ftpmirror.gnu.org/autoconf/autoconf-latest.tar.gz
tar xzf autoconf-latest.tar.gz
cd autoconf-*
./configure --prefix=/usr/local
make
sudo make install

Jetzt können Sie die ausführen pecl install Befehl

sudo pecl install xdebug

  • Ich würde vorschlagen, Brew zu verwenden, um autoconf zu installieren, anstatt aus der Quelle zu kompilieren – “brew install automake”.

    – Robert Häfner

    14. Januar 2014 um 21:30 Uhr


  • Ich möchte nur sagen, dass dieser Schritt notwendig war, wenn versucht wurde, das Mcrypt-Modul zu installieren, indem die PHP-Version 5.4.17 (die mit MacOSX Mavericks (10.9) geliefert wird) gemäß diesem Tutorial neu kompiliert wurde: coolestguidesontheplane.com/…

    – racl101

    5. Februar 2014 um 1:26 Uhr

Wenn Sie Mac Yosemite 10.10 verwenden und keine der obigen Antworten das Problem gelöst hat. Mach Folgendes:

  1. Öffnen Sie ein Terminal

  2. Ausführen find /usr/lib/php/extensions -name "xdebug.so" um den Pfad zur Debug-Bibliothek zu kennen.

  3. Ausführen sudo nano /etc/php.ini um die Datei php.ini zu öffnen und zu bearbeiten
  4. Fügen Sie in der php.ini am Ende die folgenden Zeilen hinzu

    [XDebug]
    zend_extension="/usr/lib/php/extensions/no-debug-non-zts-20121212/xdebug.so"
    xdebug.remote_enable=1
    xdebug.remote_handler=dbgp
    xdebug.remote_mode=req
    xdebug.remote_host=127.0.0.1
    xdebug.remote_port=9000
    

(Wenn Sie fertig sind, geben Sie ein control+o zu speichern und control+x um die Datei zu schließen)

(Vergessen Sie nicht, den Wert in zend_extension durch das zu ersetzen, was Sie vom ersten Terminalbefehl erhalten haben.)

  1. Ausführen sudo apachectl restart um die neue Konfiguration zu laden
  2. Lehne Dich zurück und entspanne

Benutzer-Avatar
grauer Fuchs

Für alle, die mit diesem Problem konfrontiert sind, musste ich autoconf aus dem Quellcode erstellen. Ich bin dieser Antwort aus einer anderen StackOverflow-Frage gefolgt.

https://stackoverflow.com/a/12333230/2272004

  • Befolgen Sie die dort vorhandenen Anweisungen, und ich gebe diesen Fehler weiter. 1 error generated. make: *** [xdebug.lo] Error 1 ERROR: make’ failed’ – Ich habe dieses hier. Kein Würfel.

    – SPEICHER

    26. Oktober 2013 um 15:22 Uhr

  • Dies kann hilfreich sein. remonpel.nl/2013/10/… Ich musste auch Softlinks zu einigen Bibliotheken erstellen, um xdebug zu erstellen

    – grauer Fuchs

    28. Oktober 2013 um 1:04 Uhr

  • @Danke. Am Ende fand ich heraus, dass MAMP PRO mit Xdebug geliefert wurde. Es ist nur eine Frage der Auskommentierung einer PHP-INI-Zeile. Trotzdem danke.

    – SPEICHER

    29. Oktober 2013 um 22:00 Uhr

Benutzer-Avatar
ltzMaxwell

Für das Problem PHPize-Fehler versuchen Sie Folgendes, um Ihr Problem zu lösen: sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include /usr/ enthalten

  • Befolgen Sie die dort vorhandenen Anweisungen, und ich gebe diesen Fehler weiter. 1 error generated. make: *** [xdebug.lo] Error 1 ERROR: make’ failed’ – Ich habe dieses hier. Kein Würfel.

    – SPEICHER

    26. Oktober 2013 um 15:22 Uhr

  • Dies kann hilfreich sein. remonpel.nl/2013/10/… Ich musste auch Softlinks zu einigen Bibliotheken erstellen, um xdebug zu erstellen

    – grauer Fuchs

    28. Oktober 2013 um 1:04 Uhr

  • @Danke. Am Ende fand ich heraus, dass MAMP PRO mit Xdebug geliefert wurde. Es ist nur eine Frage der Auskommentierung einer PHP-INI-Zeile. Trotzdem danke.

    – SPEICHER

    29. Oktober 2013 um 22:00 Uhr

Benutzer-Avatar
Telekom

Ich musste brew install xdebug und wähle meine Version von PHP und es hat funktioniert! Zum Beispiel,

brew install homebrew/php/php56-xdebug

Für eine PHP-Version 5.6-Variante.

1297940cookie-checkPHP Xdebug auf OS X 10.9 Mavericks

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy