Falha ao instalar o APC via pecl install APC


18

Quando tento instalar o APC via pecl install APC-3.1.5 ou até pecl install APCrecebo o seguinte erro quando o pacote trata do 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

Eu instalei todas as possíveis coisas ausentes:

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

E ainda nada.

Respostas:


35

Experimentar

yum install pcre-devel

antes de instalar o APC.

No uso do Debian

aptitude install libpcre3-dev

em vez de.


11
+1 isso funcionou para mim, deve ser a solução aceita
iainlbc

funcionou como um encanto ...
Emmanuel Okeke

+1 funcionou para mim, deve ser a solução aceita. Obrigado
Riz

Isso corrigiu para mim também. +1 para resposta aceita.
Zigojacko

2

Eu compilaria da fonte. Exclua tudo o que os instaladores de pacotes deixaram para trás. Você provavelmente tem diretórios de extensão antigos, a partir de versões mais antigas de php. rm -rf eles e seu conteúdo para que você não tenha nenhuma confusão.

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 o argumento config =, execute qual php e adicione -config ao resultado

Se você receber este erro (o mesmo que você postou)

No arquivo incluído em /usr/local/src/APC-3.1.5/apc.c:38: /usr/include/php/ext/pcre/php_pcre.h:29:18: erro: pcre.h: não existe arquivo ou diretório No arquivo incluído em /usr/local/src/APC-3.1.5/apc.c:38: /usr/include/php/ext/pcre/php_pcre.h:45: erro: esperado '=', ',', ';', 'asm' ou ' attribute ' before ' ' token /usr/include/php/ext/pcre/php_pcre.h:46: erro: esperado '=', ',', ';' , 'asm' ou ' attribute ' before ''token /usr/include/php/ext/pcre/php_pcre.h:52: erro: lista de especificadores-qualificadores esperados antes de' pcre '/usr/local/src/APC-3.1.5/apc.c:362: erro: lista-especificador-de-qualificador esperada antes de 'pcre' /usr/local/src/APC-3.1.5/apc.c: na função 'apc_regex_compile_array': /usr/local/src/APC-3.1.5/apc. c: 419: erro: 'apc_regex' não possui nenhum membro chamado 'preg' /usr/local/src/APC-3.1.5/apc.c:419: erro: 'apc_regex' não possui nenhum membro chamado 'preg' / usr / local / src / APC-3.1.5 / apc.c: 420: erro: 'apc_regex' não possui nenhum membro chamado 'nreg' /usr/local/src/APC-3.1.5/apc.c:420: erro: ' apc_regex 'não possui nenhum membro chamado' nreg '/usr/local/src/APC-3.1.5/apc.c: na função' apc_regex_match_array ': /usr/local/src/APC-3.1.5/apc.c:452 : error: 'apc_regex 'não possui nenhum membro chamado' preg '/usr/local/src/APC-3.1.5/apc.c:452: erro:' apc_regex 'não possui nenhum membro chamado' preg '/usr/local/src/APC-3.1 .5 / apc.c: 453: erro: 'apc_regex' não possui nenhum membro chamado 'nreg' /usr/local/src/APC-3.1.5/apc.c:453: erro: 'apc_regex' não possui nenhum membro chamado ' nreg 'make: *** [apc.lo] Erro 1

Então você precisa instalar o pcre e certificar-se de que seja do diretório / ou ele não será instalado.

yum install pcre-devel

make
make install

Se você receber um aviso sobre o sinalizador --with-apxs, poderá ignorá-lo.
Joseph Lust

0

parece que você está tentando instalar o APC em um sistema executando PHP <5.2.x. A versão 3.1 do APC requer 5.2.x. Estou assumindo que você esteja executando o CentOS 5.5, que acompanha o PHP 5.1.x.

tente compilar e instalar o APC 3.0.19 em http://pecl.php.net/package/APC . Conseguimos implantar o APC 3.0 em nossos servidores CentOS.


11
Não, eu tenho o php 5.3.3 instalado e ainda o pecl não o instalará corretamente ... acho que o repositório está corrompido. Eu tinha como você sugeriu compilá-lo manualmente.
sangoku

@sangoku: eu também fiquei impressionado com o mesmo. se você tem alguma solução plz compartilhe aqui. minha versão do php é 5.3.2 e obtém este erroprocedure entry point pcre_exe could not be located
RSK 30/11

0

No Ubuntu:

aptitude install libpcre3-dev

E depois:

pecl install apc

Nenhuma nova informação (TM). Downvoting.
Deer Hunter

Obrigado cara. Para usuários do Ubuntu, é uma informação útil. Não pude comentar a resposta anterior (os comentários ainda estão desativados para mim, só posso responder).
e

obrigado. Não foi possível encontrar o que há de errado com o meu ubuntu. Me ajudou.
Shukshin.ivan
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.