Nie można zainstalować APC przez pecl install APC


18

Kiedy próbuję zainstalować APC za pośrednictwem pecl install APC-3.1.5 lub nawet pecl install APCpojawia się następujący błąd, gdy pakiet przychodzi do makepolecenia:

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

Zainstalowałem wszystkie możliwe brakujące rzeczy:

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

I wciąż nic.

Odpowiedzi:


35

Próbować

yum install pcre-devel

przed instalacją APC.

O użyciu Debiana

aptitude install libpcre3-dev

zamiast.


11
+1 to zadziałało dla mnie, powinno być przyjętym rozwiązaniem
iainlbc,

działał jak urok ...
Emmanuel Okeke

+1 to działało dla mnie, powinno być przyjętym rozwiązaniem. Dzięki
Riz

To też mnie naprawiło. +1 za zaakceptowaną odpowiedź.
zigojacko

2

Kompilowałbym ze źródła. Upewnij się, że usunąłeś wszystko, co pozostawili instalatorzy pakietów. Prawdopodobnie masz stare katalogi rozszerzeń leżące wokół starszych wersji php. rm -rf je i ich zawartość, abyś nie miał wątpliwości.

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

Dla argumentu config = uruchom który php i dodaj -config do wyniku

Jeśli pojawi się ten błąd (Taki sam jak opublikowany)

W pliku zawartym z /usr/local/src/APC-3.1.5/apc.c:38: /usr/include/php/ext/pcre/php_pcre.h:29:18: error: pcre.h: Nie ma takiego plik lub katalog W pliku zawartym z /usr/local/src/APC-3.1.5/apc.c:38: /usr/include/php/ext/pcre/php_pcre.h:45: error: oczekiwano '=', ',', ';', 'asm' lub ' attribute ' before ' ' token /usr/include/php/ext/pcre/php_pcre.h:46: error: oczekiwano '=', ',', ';' , „asm” lub „ atrybut ” przed „'token /usr/include/php/ext/pcre/php_pcre.h:52: błąd: oczekiwana lista kwalifikatorów specyfikatora przed' pcre '/usr/local/src/APC-3.1.5/apc.c:362: błąd: oczekiwana lista kwalifikatorów-specyfikatora przed „pcre” /usr/local/src/APC-3.1.5/apc.c: W funkcji „apc_regex_compile_array”: /usr/local/src/APC-3.1.5/apc. c: 419: error: 'apc_regex' nie ma członka o nazwie 'preg' /usr/local/src/APC-3.1.5/apc.c:419: error: 'apc_regex' nie ma członka o nazwie 'preg' / usr / local / src / APC-3.1.5 / apc.c: 420: błąd: „apc_regex” nie ma elementu o nazwie „nreg” /usr/local/src/APC-3.1.5/apc.c:420: error: ” apc_regex 'nie ma członka o nazwie' nreg '/usr/local/src/APC-3.1.5/apc.c: W funkcji' apc_regex_match_array ': /usr/local/src/APC-3.1.5/apc.c:452 : błąd: „apc_regex ”nie ma członka o nazwie„ preg ”/usr/local/src/APC-3.1.5/apc.c:452: błąd:„ apc_regex ”nie ma członka o nazwie„ preg ”/usr/local/src/APC-3.1 .5 / apc.c: 453: błąd: „apc_regex” nie ma elementu o nazwie „nreg” /usr/local/src/APC-3.1.5/apc.c:453: błąd: „apc_regex” nie ma elementu o nazwie „ nreg 'make: *** [apc.lo] Błąd 1

Następnie musisz zainstalować program pcre i upewnić się, że pochodzi on z katalogu /, w przeciwnym razie nie zostanie zainstalowany.

yum install pcre-devel

make
make install

Jeśli pojawi się ostrzeżenie dotyczące flagi --with-apxs, możesz je zignorować.
Joseph Lust

0

wygląda na to, że próbujesz zainstalować APC w systemie z PHP <5.2.x. Wersja 3.1 APC wymaga wersji 5.2.x. Zakładam, że działasz CentOS 5.5, który jest dostarczany z PHP 5.1.x.

spróbuj skompilować i zainstalować APC 3.0.19 z http://pecl.php.net/package/APC . Udało nam się wdrożyć APC 3.0 na naszych serwerach CentOS.


1
Nie, mam zainstalowany php 5.3.3 i nadal pecl nie zainstaluje go poprawnie ... myślę, że ich repo jest uszkodzone. Miałem, jak sugerowałeś, ręcznie go skompilować.
sangoku

@sangoku: ja też mnie uderzyło to samo. jeśli masz jakieś rozwiązanie, udostępnij tutaj plz. moja wersja PHP to 5.3.2 i dostaje ten błądprocedure entry point pcre_exe could not be located
RSK

0

W Ubuntu:

aptitude install libpcre3-dev

I wtedy:

pecl install apc

Brak nowych informacji (TM). Downvoting.
Deer Hunter

Dzięki. Dla użytkowników Ubuntu jest to przydatna informacja. Nie mogłem skomentować poprzedniej odpowiedzi (komentarze są nadal dla mnie wyłączone, mogę tylko odpowiedzieć).
ea

dzięki. Nie mogłem znaleźć, co jest nie tak z moim Ubuntu. Pomogło mi.
shukshin.ivan
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.