je suis nouveau dans la configuration des serveurs php, et j’y suis allé si d’autres articles connexes, semble que personne n’a la même erreur que j’ai… .. Je me sers de MAMP 2.0.2 et d’exécuter PHP 5.3.6, et j’essayais d’installer oAuth sur mon MAMP local à l’aide des commandes suivantes:
$ cd /Applications/MAMP/bin/php/php5.3.6/bin
$ ./pecl install oauth
cependant, cela retourne une telle erreur:
Notice: unserialize(): Error at offset 276 of 1133 bytes in Config.php on line 1050
ERROR: The default config file is not a valid config file or is corrupted.
Qu'est-ce qui se passe? PECL est intégré à MAMP, qui devrait fonctionner immédiatement. ...
Mettre à jour:
J'ai lu un article ailleurs qui suggère que les données du fichier de configuration, qui contient les chemins d'installation, sont incorrectes. J'ai donc modifié une valeur dans le fichier suivant:
/Applications/MAMP/bin/php/php5.3.6/conf/pear.conf
Ensuite, j'utilise la commande:
$ ./pecl install oauth
Ce qui commence à télécharger et décompresser, mais quand il essaie d’installer, il donne:
creating libtool
appending configuration tag "CXX" to libtool
configure: creating ./config.status
config.status: creating config.h
running: make
/bin/sh /private/tmp/pear/temp/pear-build-user1RU5EZA/oauth-1.2.2/libtool --mode=compile cc -I. -I/private/tmp/pear/temp/oauth -DPHP_ATOM_INC -I/private/tmp/pear/temp/pear-build-user1RU5EZA/oauth-1.2.2/include -I/private/tmp/pear/temp/pear-build-user1RU5EZA/oauth-1.2.2/main -I/private/tmp/pear/temp/oauth -I/Applications/MAMP/bin/php/php5.3.6/include/php -I/Applications/MAMP/bin/php/php5.3.6/include/php/main -I/Applications/MAMP/bin/php/php5.3.6/include/php/TSRM -I/Applications/MAMP/bin/php/php5.3.6/include/php/Zend -I/Applications/MAMP/bin/php/php5.3.6/include/php/ext -I/Applications/MAMP/bin/php/php5.3.6/include/php/ext/date/lib -DHAVE_CONFIG_H -g -O2 -Wall -g -c /private/tmp/pear/temp/oauth/oauth.c -o oauth.lo
mkdir .libs
cc -I. -I/private/tmp/pear/temp/oauth -DPHP_ATOM_INC -I/private/tmp/pear/temp/pear-build-user1RU5EZA/oauth-1.2.2/include -I/private/tmp/pear/temp/pear-build-user1RU5EZA/oauth-1.2.2/main -I/private/tmp/pear/temp/oauth -I/Applications/MAMP/bin/php/php5.3.6/include/php -I/Applications/MAMP/bin/php/php5.3.6/include/php/main -I/Applications/MAMP/bin/php/php5.3.6/include/php/TSRM -I/Applications/MAMP/bin/php/php5.3.6/include/php/Zend -I/Applications/MAMP/bin/php/php5.3.6/include/php/ext -I/Applications/MAMP/bin/php/php5.3.6/include/php/ext/date/lib -DHAVE_CONFIG_H -g -O2 -Wall -g -c /private/tmp/pear/temp/oauth/oauth.c -fno-common -DPIC -o .libs/oauth.o
In file included from /private/tmp/pear/temp/oauth/oauth.c:14:
/private/tmp/pear/temp/oauth/php_oauth.h:20:10:
fatal error: 'php.h' file not found
include "php.h"
^
1 error generated.
make: *** [oauth.lo] Error 1
ERROR: `make' failed
Encore une fois, que se passe-t-il?
Je sais que c'est vieux, mais j'ai trouvé cette question tout en ayant un problème similaire.
MAMP n'est pas livré avec un tas des sources PHP
Créez un répertoire pour vos sources PHP:
mkdir -vp /Applications/MAMP/bin/php5/include
Décompressez php-5.x.x.tar.gz dans /Applications/MAMP/bin/php/php5.*/include ou dans/Applications/MAMP/bin/php5/include:
tar zxvf php-5.x.x.tar.gz -C /Applications/MAMP/bin/php/php5.?.??/include
Renommez votre répertoire php-5.x.x en php (sans la numérotation des versions):
mv /Applications/MAMP/bin/php/php5.2.17/include/php-5.?.?? /Applications/
MAMP/bin/php/php5.2.17/include/php
Configurez les sources PHP (cela créera les fichiers nécessaires, par exemple zend_config.h, tsrm_config.h, etc.):
cd /Applications/MAMP/bin/php/php5.?.??/include/php
./configure
Le processus était pour un autre correctif mais cela a résolu les problèmes avec php.h non trouvé
Crédit à l'endroit où j'ai trouvé les réponses -:
J'ai eu le même problème en essayant de pecl install -f ssh2
avec MAMP.
Voici comment je l'ai corrigé:
./configure
pour configurer le code source de votre plate-forme (sans cette étape, l'installation de pecl échouera à la recherche d'un ensemble de fichiers d'en-tête).pecl
(merci beaucoup à la réponse de Stephen qui est à peu près la même chose)
Ceci est un complément à la réponse de Stephen et au commentaire de Greg
Lors de la compilation de xdebug 2.3.2 pour php 5.6.2 sur OSX 10.10.2, je n’ai pas pu me débarrasser de la
Fichier 'zend_config.h' introuvable
erreur jusqu'à ce que j'ai ajouté l'option suivante à ./configure dans le dossier php:
./configure --without-iconv
Les modules PECL sont des modules compilés. Pour les installer, vous avez besoin des en-têtes PHP. Vous pouvez trouver les en-têtes sur php.net/downloads.php en vous assurant de télécharger une version qui correspond à votre version PHP. Ensuite, vous pouvez suivre ceci: Installer PHP OAuth dans l’environnement MAMP