Pecl APC ile APC yüklenemedi


18

APC üzerinden yüklemeye çalıştığımda, pecl install APC-3.1.5 hatta pecl install APCpaket makekomuta geldiğinde aşağıdaki hatayı alıyorum :

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

Tüm olası eksik şeyleri yükledim:

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

Ve hala hiçbir şey.

Yanıtlar:


35

Deneyin

yum install pcre-devel

APC'yi yüklemeden önce.

Debian kullanımı hakkında

aptitude install libpcre3-dev

yerine.


11
+1 bu benim için çalıştı, kabul edilen çözüm olmalı
— iainlbc

bir cazibe gibi çalıştı ...
— Emmanuel Okeke

+1 bu benim için çalıştı, kabul edilen çözüm olmalı. Teşekkürler
— Riz

Bu benim için de düzeltildi. Kabul edilen cevap için +1.
— zigojacko

2

Kaynaktan derlerdim. Paket yükleyicilerinin geride bıraktığı her şeyi sildiğinizden emin olun. Muhtemelen eski php sürümleri etrafında döşeme eski uzantı dizinleri var. rm -rf onları ve içerikleri böylece herhangi bir karışıklık olmaz.

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

Config = argüman için hangi php'yi çalıştırın ve sonuca -config ekleyin

Bu hatayı alırsanız (Gönderdiğinizle aynı)

/Usr/local/src/APC-3.1.5/apc.c:38: /usr/include/php/ext/pcre/php_pcre.h:29:18 dosyasında bulunan dosya: hata: pcre.h: Böyle değil dosya veya dizin /usr/local/src/APC-3.1.5/apc.c:38 içindeki dosyada: /usr/include/php/ext/pcre/php_pcre.h:45: hata: beklenen '=', ',', ';', 'asm' veya ' attrib ' önce ' ' jetonu /usr/include/php/ext/pcre/php_pcre.h:46: hata: beklenen '=', ',', ';' , 'asm' veya 'before' özelliği ''jetonu /usr/include/php/ext/pcre/php_pcre.h:52: hata:' pcre'den önce beklenen belirtici-niteleyici-listesi '/usr/local/src/APC-3.1.5/apc.c:362: hata: 'pcre' /usr/local/src/APC-3.1.5/apc.c'den önce beklenen belirtici-niteleyici-listesi: 'apc_regex_compile_array' işlevinde: /usr/local/src/APC-3.1.5/apc. c: 419: hata: 'apc_regex' in 'preg' /usr/local/src/APC-3.1.5/apc.c:419 adlı bir üyesi yok: hata: 'apc_regex' in 'preg' / usr / local / src / APC-3.1.5 / apc.c: 420: hata: 'apc_regex', 'nreg' /usr/local/src/APC-3.1.5/apc.c:420: error: 'adında bir üyesi yok apc_regex '' nreg '/usr/local/src/APC-3.1.5/apc.c:' apc_regex_match_array 'fonksiyonunda üye yok: /usr/local/src/APC-3.1.5/apc.c:452 : hata: 'apc_regex ',' preg '/usr/local/src/APC-3.1.5/apc.c:452: error:' apc_regex 'in' preg 'adlı bir üyesi yok /usr/local/src/APC-3.1 .5 / apc.c: 453: hata: 'apc_regex' adlı kullanıcının 'nreg' /usr/local/src/APC-3.1.5/apc.c:453 adlı bir üyesi yok: error: 'apc_regex' adlı kullanıcının ' nreg 'make: *** [apc.lo] Hata 1

Sonra pcre yüklemeniz ve / dizininden olduğundan emin olmanız gerekir, aksi takdirde yüklenmez.

yum install pcre-devel

make
make install

--With-apxs bayrağı hakkında bir uyarı alırsanız, yok sayabilirsiniz.
— Joseph Lust

0

PHP <5.2.x çalıştıran bir sisteme APC yüklemeye çalıştığınız anlaşılıyor. APC 3.1 sürümü 5.2.x gerektirir. PHP 5.1.x ile birlikte gelen CentOS 5.5 çalışan varsayalım.

http://pecl.php.net/package/APC adresinden APC 3.0.19'u derlemeyi ve kurmayı deneyin . APC 3.0'ı CentOS sunucularımızda konuşlandırmayı başardık.


1
Hayır php 5.3.3 yüklü ve hala pecl doğru yüklemek olmaz ... Ben onların repo bozuk olduğunu düşünüyorum. El ile derlemenizi önerdiğim gibi.
— sangoku

@sangoku: Ben de aynı şeyi yaptım. burada herhangi bir çözüm plz payı varsa. benim php sürüm 5.3.2 ve bu hatayı alırprocedure entry point pcre_exe could not be located
— RSK

0

Ubuntu'da:

aptitude install libpcre3-dev

Ve sonra:

pecl install apc

Yeni bilgi yok (TM). Downvoting.
— Deer Hunter

Teşekkürler dostum. Ubuntu kullanıcıları için bu yararlı bir bilgidir. Önceki cevap hakkında yorum yapamadım (yorumlar hala benim için devre dışı, sadece cevaplayabilirim).
— ea

Teşekkürler. Benim ubuntu ile yanlış olanı bulamadım. Bana yardımcı oldu.
— shukshin.ivan
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.