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.

Antworten:


35

Versuchen

yum install pcre-devel

vor der Installation von APC.

Bei Verwendung von Debian

aptitude install libpcre3-dev

stattdessen.


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

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.


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

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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.