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.

Respuestas:


35

Tratar

yum install pcre-devel

antes de instalar APC.

Sobre el uso de Debian

aptitude install libpcre3-dev

en lugar.


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

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.


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

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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.