web-dev-qa-db-fra.com

Impossible de phpize ou de configurer une extension dans OS X 10.9 Mavericks

J'essaye de construire l'extension memcached sur OS X 10.9 Mavericks pour l'utiliser avec le PHP 5.4, initialement j'ai essayé pecl install memcached mais qui a jeté ce qui suit.

checking for zlib location... configure: error: memcached support requires ZLIB. Use --with-zlib-dir=<DIR> to specify the prefix where ZLIB headers and library are located
ERROR: `/private/tmp/pear/install/memcached/configure' failed

J'ai donc créé un répertoire tmp et exécuté pecl download memcached, a décompressé le code et enregistré dans le répertoire approprié.

La tentative de phpize l'a renvoyé:

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:  

J'avais installé zlib il y a un moment et pointé ./configure sur mon installation. ./configure --with-zlib-dir=/usr/local/Cellar/zlib/1.2.8 J'ai été accueilli avec le message d'erreur suivant:

checking for session includes... configure: error: Cannot find php_session.h

Alors maintenant, je me demande la meilleure ligne de conduite ici ... /usr/include/ n'existe pas du tout ... est-ce une chose Mavericks? Je ne me souviens pas du tout d'avoir eu ce problème en 10.8.

Je pourrais essayer d'installer brew php-devel mais je suppose que ce ne sera pas la bonne version de ce dont j'ai besoin? Toute aide serait grandement appréciée ici

Mise à jour

locate php_session.h révèle

/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/usr/include/php/ext/session/php_session.h

devrais-je simplement ln -s ceci à l'emplacement prévu ou existe-t-il un moyen de le faire via XCode? J'ai les outils de ligne de commande installés ...

34
donatJ

courir xcode-select --install pour installer les outils de ligne de commande XCode5, puis Sudo pecl install memcache. Vous devriez être prêt à partir.

99
afessler

Après avoir installé les outils de ligne de commande XCode5 en tant qu'afessler sugest (xcode-select --install), je n'ai pas pu faire le "Sudo pecl install memcache" car pecl était manquant. J'ai dû installer PEAR et PECL en suivant ce guide: http://techtastico.com/post/como-instalar-pear-y-pecl-en-os-x- mavericks / . Alors tout a bien fonctionné. Merci!

5
haroK

J'ai eu ce problème et c'était dû au fait que MAMP n'avait pas toutes les sources PHP.

J'ai trouvé cette solution vraiment utile qui explique comment les télécharger et les configurer: https://stackoverflow.com/a/11175197/369326

Notez que les composants MAMP ne comprennent pas les extras pour toutes les versions de PHP supérieur à php 5.4.10 mais vous pouvez télécharger les extras depuis http://php.net/ versions .

3
Jonny White

Comme indiqué ci-dessus mais sans utiliser l'installation de xcode Essayez d'installer pecl manuellement:

  curl -O http://pear.php.net/go-pear.phar 
  Sudo php -d detect_unicode=0 go-pear.phar 

et alors:

 Sudo pecl install memcache

Voir plus sur: http://jason.pureconcepts.net/2012/10/install-pear-pecl-mac-os-x/#sthash.x2LKdqj6.dpuf

0
Julio Marins