Impossible d'installer APC via pecl install APC

18

Lorsque j'essaie d'installer APC via pecl install APC-3.1.5 ou même pecl install APCj'obtiens l'erreur suivante lorsque le package vient à la makecommande:

running: make
/bin/sh /var/tmp/pear-build-root/APC-3.1.5/libtool --mode=compile cc  -I. -I/var/tmp/APC -DPHP_ATOM_INC -I/var/tmp/pear-build-root/APC-3.1.5/include -I/var/tmp/pear-build-root/APC-3.1.5/main -I/var/tmp/APC -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib  -DHAVE_CONFIG_H  -g -O2   -c /var/tmp/APC/apc.c -o apc.lo
mkdir .libs
 cc -I. -I/var/tmp/APC -DPHP_ATOM_INC -I/var/tmp/pear-build-root/APC-3.1.5/include -I/var/tmp/pear-build-root/APC-3.1.5/main -I/var/tmp/APC -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -DHAVE_CONFIG_H -g -O2 -c /var/tmp/APC/apc.c  -fPIC -DPIC -o .libs/apc.o
In file included from /var/tmp/APC/apc.c:44:
/usr/include/php/ext/pcre/php_pcre.h:29:18: error: pcre.h: No such file or directory
In file included from /var/tmp/APC/apc.c:44:
/usr/include/php/ext/pcre/php_pcre.h:37: error: expected '=', ',', ';', 'asm' or '__attribute__' before '*' token
/usr/include/php/ext/pcre/php_pcre.h:38: error: expected '=', ',', ';', 'asm' or '__attribute__' before '*' token
/usr/include/php/ext/pcre/php_pcre.h:44: error: expected specifier-qualifier-list before 'pcre'
/var/tmp/APC/apc.c:369: error: expected specifier-qualifier-list before 'pcre'
/var/tmp/APC/apc.c: In function 'apc_regex_compile_array':
/var/tmp/APC/apc.c:430: error: 'apc_regex' has no member named 'preg'
/var/tmp/APC/apc.c:430: error: 'apc_regex' has no member named 'preg'
/var/tmp/APC/apc.c:431: error: 'apc_regex' has no member named 'nreg'
/var/tmp/APC/apc.c:431: error: 'apc_regex' has no member named 'nreg'
/var/tmp/APC/apc.c: In function 'apc_regex_match_array':
/var/tmp/APC/apc.c:463: error: 'apc_regex' has no member named 'preg'
/var/tmp/APC/apc.c:463: error: 'apc_regex' has no member named 'preg'
/var/tmp/APC/apc.c:464: error: 'apc_regex' has no member named 'nreg'
/var/tmp/APC/apc.c:464: error: 'apc_regex' has no member named 'nreg'
make: *** [apc.lo] Error 1
ERROR: `make' failed

J'ai installé toutes les choses manquantes possibles:

yum install php-devel httpd-devel
yum groupinstall ‘Development Tools’
yum groupinstall ‘Development Libraries’

Et toujours rien.

sangoku
la source

Réponses:

35

Essayer

yum install pcre-devel

avant d'installer APC.

Sur l'utilisation de Debian

aptitude install libpcre3-dev

au lieu.

acmé
la source
11
+1, cela a fonctionné pour moi, devrait être la solution acceptée
iainlbc
travaillé comme un charme ...
Emmanuel Okeke
+1 cela a fonctionné pour moi, devrait être la solution acceptée. Merci
Riz
Cela m'a également arrangé. +1 pour la réponse acceptée.
zigojacko
2

Je compilerais à partir de la source. Assurez-vous de supprimer tout ce que les installateurs de packages ont laissé. Vous avez probablement d'anciens répertoires d'extension provenant d'anciennes versions de php. rm -rf eux et leur contenu afin que vous n'ayez aucune confusion.

cd ~ 
mkdir setups
cd setups 
wget http://pecl.php.net/get/APC-3.1.9.tgz 
tar -xvf APC-3.1.9.tgz 
cd APC-3.1.9
phpize
./configure --enable-apc --enable-apc-mmap --with-apxs --with-php-config=/usr/local/bin/php-config
make

Pour l'argument config =, exécutez quel php et ajoutez -config au résultat

Si vous obtenez cette erreur (identique à celle que vous avez publiée)

Dans le fichier inclus depuis /usr/local/src/APC-3.1.5/apc.c:38: /usr/include/php/ext/pcre/php_pcre.h:29:18: erreur: pcre.h: aucun tel fichier ou répertoire Dans le fichier inclus à partir de /usr/local/src/APC-3.1.5/apc.c:38: /usr/include/php/ext/pcre/php_pcre.h:45: erreur: attendue '=', ',', ';', 'asm' ou ' attribut ' avant ' ' token /usr/include/php/ext/pcre/php_pcre.h:46: erreur: attendue '=', ',', ';' , 'asm' ou ' attribut ' avant ''token /usr/include/php/ext/pcre/php_pcre.h:52: erreur: liste de spécificateurs-qualificateurs attendue avant' pcre '/usr/local/src/APC-3.1.5/apc.c:362: erreur: liste de spécificateurs-qualificateurs attendue avant 'pcre' /usr/local/src/APC-3.1.5/apc.c: dans la fonction 'apc_regex_compile_array': /usr/local/src/APC-3.1.5/apc. c: 419: erreur: 'apc_regex' n'a pas de membre nommé 'preg' /usr/local/src/APC-3.1.5/apc.c:419: erreur: 'apc_regex' n'a pas de membre nommé 'preg' / usr / local / src / APC-3.1.5 / apc.c: 420: erreur: 'apc_regex' n'a pas de membre nommé 'nreg' /usr/local/src/APC-3.1.5/apc.c:420: erreur: ' apc_regex 'n'a aucun membre nommé' nreg '/usr/local/src/APC-3.1.5/apc.c: dans la fonction' apc_regex_match_array ': /usr/local/src/APC-3.1.5/apc.c:452 : Erreur: 'apc_regex 'n'a pas de membre nommé' preg '/usr/local/src/APC-3.1.5/apc.c:452: erreur:' apc_regex 'n'a pas de membre nommé' preg '/usr/local/src/APC-3.1 .5 / apc.c: 453: erreur: 'apc_regex' n'a pas de membre nommé 'nreg' /usr/local/src/APC-3.1.5/apc.c:453: erreur: 'apc_regex' n'a pas de membre nommé ' nreg 'make: *** [apc.lo] Erreur 1

Ensuite, vous devez installer pcre et vous assurer qu'il provient du répertoire / ou il ne s'installera pas.

yum install pcre-devel

make
make install
Chris_O
la source
Si vous recevez un avertissement concernant le drapeau --with-apxs, vous pouvez l'ignorer.
Joseph Lust
0

il semble que vous essayez d'installer APC sur un système exécutant PHP <5.2.x. La version 3.1 d'APC nécessite 5.2.x. Je suppose que votre CentOS 5.5 en cours d'exécution est livré avec PHP 5.1.x.

essayez de compiler et d'installer APC 3.0.19 depuis http://pecl.php.net/package/APC . Nous avons réussi à déployer APC 3.0 sur nos serveurs CentOS.

johndagostino
la source
1
Non, j'ai installé PHP 5.3.3 et toujours le pecl ne l'installera pas correctement ... Je pense que leur dépôt est corrompu. J'avais comme vous l'avez suggéré de le compiler manuellement.
sangoku
@sangoku: moi aussi j'ai frappé avec le même. si vous avez une solution, partagez-la ici. ma version php est 5.3.2 et obtient cette erreurprocedure entry point pcre_exe could not be located
RSK
0

Dans Ubuntu:

aptitude install libpcre3-dev

Puis:

pecl install apc
ea
la source
Aucune nouvelle information (TM). Downvoting.
Deer Hunter
Merci mec. Pour les utilisateurs d'Ubuntu, c'est une information utile. Je n'ai pas pu commenter la réponse précédente (les commentaires sont toujours désactivés pour moi, je ne peux que répondre).
ea
Merci. Impossible de trouver ce qui ne va pas avec mon ubuntu. M'a aidé.
shukshin.ivan