ไม่สามารถติดตั้ง APC ผ่าน pecl ติดตั้ง APC


18

เมื่อฉันพยายามที่จะติดตั้ง APC ผ่านpecl install APC-3.1.5 หรือแม้กระทั่งpecl install APCฉันได้รับข้อผิดพลาดต่อไปนี้เมื่อแพคเกจมาถึงmakeคำสั่ง:

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

ฉันติดตั้งสิ่งที่ขาดหายไปที่เป็นไปได้ทั้งหมด:

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

และยังคงไม่มีอะไร

คำตอบ:


35

ลอง

yum install pcre-devel

ก่อนการติดตั้ง APC

เกี่ยวกับการใช้ Debian

aptitude install libpcre3-dev

แทน.


11
+1 นี้ทำงานให้ฉันควรจะเป็นทางออกที่ได้รับการยอมรับ
iainlbc

ทำงานได้อย่างมีเสน่ห์ ...
Emmanuel Okeke

+1 สิ่งนี้ใช้ได้กับฉันควรเป็นคำตอบที่ยอมรับได้ ขอบคุณ
Riz

การแก้ไขนี้สำหรับฉันด้วย +1 สำหรับคำตอบที่ยอมรับได้
zigojacko

2

ฉันจะรวบรวมจากแหล่งที่มา ตรวจสอบให้แน่ใจว่าคุณลบสิ่งใดก็ตามที่ผู้ติดตั้งแพ็คเกจทิ้งไว้ คุณอาจมีไดเรกทอรีส่วนขยายเก่า ๆ วางอยู่รอบ ๆ จากเวอร์ชัน php ที่เก่ากว่า rm -rf พวกเขาและเนื้อหาของพวกเขาดังนั้นคุณจะไม่มีความสับสน

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 = ให้รันphpใดและเพิ่ม-configลงในผลลัพธ์

หากคุณได้รับข้อผิดพลาดนี้ (เหมือนกับที่คุณโพสต์)

ในไฟล์รวมจาก /usr/local/src/APC-3.1.5/apc.c:38: /usr/include/php/ext/pcre/php_pcre.h:29:18: ข้อผิดพลาด: pcre.h: ไม่มีเช่นนั้น ไฟล์หรือไดเรกทอรีในไฟล์ที่รวมจาก /usr/local/src/APC-3.1.5/apc.c:38: /usr/include/php/ext/pcre/php_pcre.h:45: ข้อผิดพลาด: ที่คาดหวัง '=', ',', ';', 'asm' หรือ ' attribute ' ก่อนหน้า ' ' token /usr/include/php/ext/pcre/php_pcre.h:46: ข้อผิดพลาด: คาดว่า '=', ',', ';' , 'asm' หรือ ' attribute ' before ''token /usr/include/php/ext/pcre/php_pcre.h:52: ข้อผิดพลาด: specifier-qualifier-list ที่คาดไว้ก่อน' pcre '/usr/local/src/APC-3.1.5/apc.c:362: ข้อผิดพลาด: specifier-qualifier-list ที่คาดไว้ก่อนหน้า 'pcre' /usr/local/src/APC-3.1.5/apc.c: ในฟังก์ชัน 'apc_regex_compile_array': /usr/local/src/APC-3.1.5/apc c: 419: ข้อผิดพลาด: 'apc_regex' ไม่มีสมาชิกชื่อ 'preg' /usr/local/src/APC-3.1.5/apc.c:419: ข้อผิดพลาด: 'apc_regex' ไม่มีสมาชิกชื่อ 'preg' / usr / local / src / APC-3.1.5 / apc.c: 420: ข้อผิดพลาด: 'apc_regex' ไม่มีสมาชิกชื่อ 'nreg' /usr/local/src/APC-3.1.5/apc.c:420: ข้อผิดพลาด: ' apc_regex 'ไม่มีสมาชิกชื่อ' nreg '/usr/local/src/APC-3.1.5/apc.c: ในฟังก์ชั่น' apc_regex_match_array ': /usr/local/src/APC-3.1.5/apc.c:452 : ข้อผิดพลาด: 'apc_regex 'ไม่มีสมาชิกชื่อ' preg '/usr/local/src/APC-3.1.5/apc.c:452: ข้อผิดพลาด:' apc_regex 'ไม่มีสมาชิกชื่อ' preg '/usr/local/src/APC-3.1 .5 / apc.c: 453: ข้อผิดพลาด: 'apc_regex' ไม่มีสมาชิกชื่อ 'nreg' /usr/local/src/APC-3.1.5/apc.c:453: ข้อผิดพลาด: 'apc_regex' ไม่มีสมาชิกชื่อ ' nreg 'make: *** [apc.lo] ข้อผิดพลาด 1

จากนั้นคุณต้องติดตั้ง pcre และตรวจสอบให้แน่ใจว่ามันมาจากไดเรกทอรี / หรือจะไม่ติดตั้ง

yum install pcre-devel

make
make install

หากคุณได้รับคำเตือนเกี่ยวกับธง --with-apxs คุณสามารถเพิกเฉยได้
Joseph Lust

0

ดูเหมือนว่าคุณกำลังพยายามติดตั้ง APC บนระบบที่ใช้ PHP <5.2.x APC รุ่น 3.1 ต้องใช้ 5.2.x ฉันสมมติว่า CentOS 5.5 ที่รันอยู่จะมาพร้อมกับ PHP 5.1.x

พยายามรวบรวมและติดตั้ง APC 3.0.19 จากhttp://pecl.php.net/package/APC เราประสบความสำเร็จในการปรับใช้ APC 3.0 บนเซิร์ฟเวอร์ CentOS ของเรา


1
ไม่ฉันได้ติดตั้ง php 5.3.3 แล้วและยังคง pecl ไม่ได้ติดตั้งอย่างถูกต้อง ... ฉันคิดว่า repo ของพวกเขาเสียหาย ฉันมีตามที่คุณแนะนำให้รวบรวมด้วยตนเอง
sangoku

@sangoku: ฉันก็หลงเหมือนกัน หากคุณมีวิธีการแก้ปัญหากรุณาแบ่งปันที่นี่ รุ่น php ของฉันคือ 5.3.2 และได้รับข้อผิดพลาดนี้procedure entry point pcre_exe could not be located
RSK

0

ใน Ubuntu:

aptitude install libpcre3-dev

แล้ว:

pecl install apc

ไม่มีข้อมูลใหม่ (TM) downvoting
Deer Hunter

ขอบคุณชาย สำหรับผู้ใช้ Ubuntu นั้นเป็นข้อมูลที่มีประโยชน์ ฉันไม่สามารถแสดงความคิดเห็นกับคำตอบก่อนหน้า (ความคิดเห็นยังคงปิดการใช้งานสำหรับฉันฉันสามารถตอบได้เท่านั้น)
ea

ขอบคุณ ไม่พบอูบุนตูของฉัน ช่วยฉันด้วย
shukshin.ivan
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.