无法通过pecl安装APC安装APC


18

当我尝试通过pecl install APC-3.1.5 甚至什pecl install APC至在make命令包中安装APC 时出现以下错误:

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’

还是一无所有。

Answers:


35

尝试

yum install pcre-devel

在安装APC之前。

在Debian上使用

aptitude install libpcre3-dev

代替。


11
+1这对我
有用

像魅力一样运作……
Emmanuel Okeke 2012年

+1这对我有用,应该是公认的解决方案。谢谢
Riz

这也为我解决了。+1接受答案。
zigojacko 2015年

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:错误:预期为'=',令牌/usr/include/php/ext/pcre/php_pcre.h:46之前的',',';','asm'或' 属性 ' :错误:预期为'=',',',';' ,“ asm”或“ attribute ”之前的“'令牌/usr/include/php/ext/pcre/php_pcre.h:52:错误:'pcre'/usr/local/src/APC-3.1.5/apc.c:362之前的预期说明者限定符列表:错误:“ pcre” /usr/local/src/APC-3.1.5/apc.c之前的预期specifier-qualifier-list:在函数“ 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 /本地/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'的成员nreg'make:*** [apc.lo]错误1

然后,您必须安装pcre并确保它位于/目录中,否则将无法安装。

yum install pcre-devel

make
make install

如果收到有关--with-apxs标志的警告,则可以忽略它。
约瑟夫·拉斯特

0

看来您正在尝试在运行PHP <5.2.x的系统上安装APC。APC的3.1版要求5.2.x。我假设您正在运行PHP 5.1.x附带的CentOS 5.5。

尝试从http://pecl.php.net/package/APC编译并安装APC 3.0.19 。我们已经成功在CentOS服务器上部署了APC 3.0。


1
不,我已经安装了php 5.3.3,但pecl仍无法正确安装它...我认为他们的仓库已损坏。正如您建议的那样,我必须手动对其进行编译。
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)。投票失败。
Deer Hunter

谢啦。对于Ubuntu用户,这是有用的信息。我无法对先前的答案发表评论(评论仍然对我无效,我只能回答)。
ea 2013年

谢谢。无法找到我的Ubuntu问题。帮助过我。
shukshin.ivan,2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.