web-dev-qa-db-fra.com

PHP Xdebug sur Mavericks OS X 10.9

Je rencontre des problèmes pour configurer mon PHP) environnement de développement sous OS X après l'installation de OS X 10.9 Mavericks.

Voici la commande que j'utilise pour installer.

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

Quelqu'un a une solution ou une solution de contournement?

47
greyfox

La manière rapide de copier-coller

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

Cette commande effectue les opérations suivantes:

  • Trouve l'extension native Xdebug fournie avec Xcode
  • Demande php quel fichier de configuration est chargé
  • Ajoute le chemin de l'extension Xdebug dans le fichier de configuration
  • Redémarre Apache.

Compatible avec Sierra, El Capitan & Yosemite avec Apache intégré, mais non testé avec MAMP & XAMPP.

Avant de lancer la commande, assurez-vous que les outils de ligne de commande Xcode sont installés: xcode-select --install

91
Creaforge

Je ne sais pas utiliser pecl. Obtenir Xdebug après une installation OS X est assez simple sans pecl. Vous avez deux options faciles:

  1. Utilisez la version déjà disponible sur:

    /usr/lib/php/extensions/no-debug-non-zts-2010052/xdebug.so
    
  2. Construit le tien:

    1. Assurez-vous de disposer des outils CLI Xcode: xcode-select --install vous invite à installer les outils de la CLI. Avec les outils CLI installés, il devrait y avoir des choses à l'intérieur /usr/include/php.

    2. Allez sur http://xdebug.org/download.php et téléchargez l'archive source pour la version de Xdebug souhaitée. Par exemple: http://xdebug.org/files/xdebug-2.2.3.tgz .

    3. Extrayez l'archive tar et cd dans le répertoire créé. Dans ce répertoire, vous verrez un README. De là c'est:

      $ 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 ...]
      

Votre construit xdebug.so est maintenant à modules/xdebug.so. Le phpize est essentiel pour les outils CLI XCode installés, car phpize configure les paramètres de construction de votre version de PHP.

Avec votre xdebug.so en main à partir de (1) ou (2) ci-dessus, vous pouvez ajouter ce bloc au php.ini utilisé par votre php ou 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)>
36
Dmitry Minkovsky

Il y a deux problèmes ici. La première est que vous devez installer les outils de ligne de commande Xcode avec la commande:

xcode-select --install

Cela signifie que les fichiers précédemment introuvables dans /usr/include/php/ sera disponible.

L'étape suivante consiste à installer autoconf de la même manière qu'Ares le montre dans sa réponse .

Je voudrais cd dans votre dossier de téléchargement en premier

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

maintenant vous pouvez lancer le pecl install commande

Sudo pecl install xdebug
16
wal5hy

Si vous utilisez Mac Yosemite 10.10 et si aucune des réponses ci-dessus n’a résolu le problème. Faites ce qui suit:

  1. Ouvrir un terminal

  2. Execute find /usr/lib/php/extensions -name "xdebug.so" pour connaître le chemin d'accès à la bibliothèque de débogage.

  3. Execute Sudo nano /etc/php.ini pour ouvrir et éditer le fichier php.ini
  4. Dans php.ini, ajoutez les lignes suivantes à la fin

    [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
    

(Une fois terminé, tapez control+o pour sauvegarder et control+x pour fermer le fichier)

(N'oubliez pas de remplacer la valeur dans zend_extension pour tout ce que vous avez obtenu avec la première commande de terminal)

  1. Execute Sudo apachectl restart pour charger la nouvelle configuration
  2. Asseyez-vous et détendez-vous
16
oabarca

J'ai dû brew install xdebug et choisissez ma version de PHP et cela a fonctionné! Par exemple,

brew install homebrew/php/php56-xdebug

Pour une variante PHP version 5.6).

2
tleo

Pour résoudre le problème, essayez ceci résoudra votre problème: Sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/usr/comprendre

2
ltzMaxwell

Pour tous ceux qui font face à ce problème, je devais compiler autoconf à partir des sources. J'ai suivi cette réponse d'une autre question StackOverflow.

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

2
greyfox