Fehler beim Installieren von APC über die Pecl-Installation von APC

18

Wenn ich versuche, APC über pecl install APC-3.1.5 oder sogar zu installieren, pecl install APCerhalte ich folgende Fehlermeldung, wenn das Paket zum makeBefehl kommt:

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

Ich habe alle möglichen fehlenden Dinge installiert:

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

Und immer noch nichts.

Sangoku
quelle

Antworten:

35

Versuchen

yum install pcre-devel

vor der Installation von APC.

Bei Verwendung von Debian

aptitude install libpcre3-dev

stattdessen.

Gipfel
quelle
11
+1 das hat für mich funktioniert, sollte die akzeptierte Lösung sein
iainlbc
arbeitete wie ein Zauber ...
Emmanuel Okeke
+1 das hat bei mir geklappt, sollte die akzeptierte lösung sein. Vielen Dank
Riz
Das hat es auch für mich behoben. +1 für akzeptierte Antwort.
Zigojacko
2

Ich würde aus dem Quellcode kompilieren. Stellen Sie sicher, dass Sie alles löschen, was die Paket-Installer zurückgelassen haben. Sie haben wahrscheinlich alte Erweiterungsverzeichnisse aus älteren PHP-Versionen. rm -rf sie und ihren Inhalt, so dass Sie keine Verwirrung haben.

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

Führen Sie für das Argument config = which php aus und fügen Sie -config zum Ergebnis hinzu

Wenn Sie diesen Fehler erhalten (derselbe wie der, den Sie gepostet haben)

In Datei enthalten von /usr/local/src/APC-3.1.5/apc.c:38: /usr/include/php/ext/pcre/php_pcre.h:29:18: Fehler: pcre.h: Keine solche Datei oder Verzeichnis In der Datei aus /usr/local/src/APC-3.1.5/apc.c:38: /usr/include/php/ext/pcre/php_pcre.h:45: Fehler: erwartet '=', ',', ';', 'asm' oder ' attribute ' vor ' ' token /usr/include/php/ext/pcre/php_pcre.h:46: error: expected '=', ',', ';' , 'asm' oder ' attribute ' vor ''Token /usr/include/php/ext/pcre/php_pcre.h:52: Fehler: Erwartete Spezifizierer-Qualifizierer-Liste vor' pcre '/usr/local/src/APC-3.1.5/apc.c:362: Fehler: erwartete Spezifizierer-Qualifizierer-Liste vor 'pcre' /usr/local/src/APC-3.1.5/apc.c: In Funktion 'apc_regex_compile_array': /usr/local/src/APC-3.1.5/apc. c: 419: Fehler: 'apc_regex' hat kein Mitglied namens 'preg' /usr/local/src/APC-3.1.5/apc.c:419: Fehler: 'apc_regex' hat kein Mitglied namens 'preg' / usr / local / src / APC-3.1.5 / apc.c: 420: Fehler: 'apc_regex' hat kein Mitglied mit dem Namen 'nreg' /usr/local/src/APC-3.1.5/apc.c:420: Fehler: ' apc_regex 'hat kein Mitglied namens' nreg '/usr/local/src/APC-3.1.5/apc.c: In der Funktion' apc_regex_match_array ': /usr/local/src/APC-3.1.5/apc.c:452 : Error: 'apc_regex 'hat kein Mitglied namens' preg '/usr/local/src/APC-3.1.5/apc.c:452: Fehler:' apc_regex 'hat kein Mitglied namens' preg '/usr/local/src/APC-3.1 .5 / apc.c: 453: error: 'apc_regex' hat kein Mitglied mit dem Namen 'nreg' /usr/local/src/APC-3.1.5/apc.c:453: error: 'apc_regex' hat kein Mitglied mit dem Namen ' nreg 'make: *** [apc.lo] Fehler 1

Dann müssen Sie pcre installieren und sicherstellen, dass es aus dem Verzeichnis / stammt, sonst wird es nicht installiert.

yum install pcre-devel

make
make install
Chris_O
quelle
Wenn Sie eine Warnung über das Flag --with-apxs erhalten, können Sie diese ignorieren.
Joseph Lust
0

Sie versuchen anscheinend, APC auf einem System mit PHP <5.2.x zu installieren. Version 3.1 von APC erfordert 5.2.x. Ich gehe davon aus, dass Sie CentOS 5.5 verwenden, das mit PHP 5.1.x geliefert wird.

Versuchen Sie, APC 3.0.19 von http://pecl.php.net/package/APC zu kompilieren und zu installieren . Wir haben APC 3.0 erfolgreich auf unseren CentOS-Servern implementiert.

johndagostino
quelle
1
Nein, ich habe PHP 5.3.3 installiert und trotzdem installiert die Pecl es nicht richtig ... Ich denke, ihr Repo ist beschädigt. Ich hatte wie Sie vorgeschlagen, es manuell zu kompilieren.
Sangoku
@ Sangoku: Ich auch mit dem gleichen geschlagen. Wenn Sie eine Lösung haben, teilen Sie uns dies bitte hier mit. Meine PHP-Version ist 5.3.2 und bekommt diesen Fehlerprocedure entry point pcre_exe could not be located
RSK
0

In Ubuntu:

aptitude install libpcre3-dev

Und dann:

pecl install apc
ea
quelle
Keine neuen Informationen (TM). Downvoting.
Deer Hunter
Danke, Mann. Für Ubuntu-Benutzer ist das eine nützliche Information. Ich konnte die vorherige Antwort nicht kommentieren (Kommentare sind für mich immer noch deaktiviert, ich kann nur antworten).
ea
Vielen Dank. Konnte nicht finden, was mit meinem Ubuntu nicht stimmt. Half mir.
shukshin.ivan