Error al instalar APC a través de pecl install APC

18

Cuando intento instalar APC a través de pecl install APC-3.1.5 o incluso pecl install APCrecibo el siguiente error cuando el paquete llega al makecomando:

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

Instalé todas las posibles cosas faltantes:

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

Y aún nada.

sangoku
fuente

Respuestas:

35

Tratar

yum install pcre-devel

antes de instalar APC.

Sobre el uso de Debian

aptitude install libpcre3-dev

en lugar.

cumbre
fuente
11
+1 esto funcionó para mí, debería ser la solución aceptada
iainlbc
funcionó como un encanto ...
Emmanuel Okeke
+1 esto funcionó para mí, debería ser la solución aceptada. Gracias
Riz
Esto también me lo arregló. +1 por respuesta aceptada.
zigojacko
2

Compilaría desde la fuente. Asegúrese de eliminar todo lo que dejaron los instaladores de paquetes. Probablemente tengas directorios de extensiones antiguas de versiones anteriores de php. rm -rf ellos y sus contenidos para que no tengas ninguna confusión.

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

Para el argumento config =, ejecute qué php y agregue -config al resultado

Si obtiene este error (igual que el que publicó)

En el archivo incluido en /usr/local/src/APC-3.1.5/apc.c:38: /usr/include/php/ext/pcre/php_pcre.h:29:18: error: pcre.h: No such archivo o directorio Archivo incluido en /usr/local/src/APC-3.1.5/apc.c:38: /usr/include/php/ext/pcre/php_pcre.h:45: error: esperado '=', ',', ';', 'asm' o ' atributo ' antes de ' ' token /usr/include/php/ext/pcre/php_pcre.h:46: error: esperado '=', ',', ';' , 'asm' o ' atributo ' antes de ''token /usr/include/php/ext/pcre/php_pcre.h:52: error: lista de especificador-calificador esperada antes de' pcre '/usr/local/src/APC-3.1.5/apc.c:362: error: lista-calificador-especificador esperada antes de 'pcre' /usr/local/src/APC-3.1.5/apc.c: En la función 'apc_regex_compile_array': /usr/local/src/APC-3.1.5/apc. c: 419: error: 'apc_regex' no tiene ningún miembro llamado 'preg' /usr/local/src/APC-3.1.5/apc.c:419: error: 'apc_regex' no tiene ningún miembro llamado 'preg' / usr / local / src / APC-3.1.5 / apc.c: 420: error: 'apc_regex' no tiene ningún miembro llamado 'nreg' /usr/local/src/APC-3.1.5/apc.c:420: error: ' apc_regex 'no tiene ningún miembro llamado' nreg '/usr/local/src/APC-3.1.5/apc.c: En la función' apc_regex_match_array ': /usr/local/src/APC-3.1.5/apc.c:452 : error: 'apc_regex 'no tiene ningún miembro llamado' preg '/usr/local/src/APC-3.1.5/apc.c:452: error:' apc_regex 'no tiene ningún miembro llamado' preg '/usr/local/src/APC-3.1 .5 / apc.c: 453: error: 'apc_regex' no tiene ningún miembro llamado 'nreg' /usr/local/src/APC-3.1.5/apc.c:453: error: 'apc_regex' no tiene ningún miembro llamado ' nreg 'make: *** [apc.lo] Error 1

Luego debe instalar pcre y asegurarse de que sea del directorio / o no se instalará.

yum install pcre-devel

make
make install
Chris_O
fuente
Si recibe una advertencia sobre el indicador --with-apxs, puede ignorarlo.
Joseph Lust
0

parece que está intentando instalar APC en un sistema que ejecuta PHP <5.2.x. La versión 3.1 de APC requiere 5.2.x. Supongo que está ejecutando CentOS 5.5 que se incluye con PHP 5.1.x.

intente compilar e instalar APC 3.0.19 desde http://pecl.php.net/package/APC . Hemos tenido éxito al implementar APC 3.0 en nuestros servidores CentOS.

johndagostino
fuente
1
No, tengo php 5.3.3 instalado y aún el pecl no lo instalará correctamente ... creo que su repositorio está dañado. Tenía como sugirió compilarlo manualmente.
sangoku
@sangoku: yo también golpeé con lo mismo. si tienes alguna solución por favor comparte aquí. mi versión de php es 5.3.2 y recibe este errorprocedure entry point pcre_exe could not be located
RSK
0

En Ubuntu:

aptitude install libpcre3-dev

Y entonces:

pecl install apc
ea
fuente
No hay nueva información (TM). Votación a favor.
Deer Hunter
Gracias hombre. Para los usuarios de Ubuntu, esa es una información útil. No pude comentar sobre la respuesta anterior (los comentarios todavía están deshabilitados para mí, solo puedo responder).
ea
Gracias. No pude encontrar lo que está mal con mi ubuntu. Me ayudó.
shukshin.ivan