在linux/centos上安装apc for php错误


Error installing apc for php on linux/centos

我按照这个教程http://stevejenkins.com/blog/2011/08/how-to-install-apc-alternative-php-cache-on-centos-5-6/在我的centos vps主机上安装apc,但是我在最后一步得到一些错误消息。下面是来自终端的完整日志:

/bin/sh /usr/local/src/APC-3.1.9/libtool --mode=compile cc  -I. -I/usr/local/src/APC-3.1.9 -DPHP_ATOM_INC -I/usr/local/src/APC-3.1.9/include -I/usr/local/src/APC-3.1.9/main -I/usr/local/src/APC-3.1.9 -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 /usr/local/src/APC-3.1.9/apc.c -o apc.lo
mkdir .libs
 cc -I. -I/usr/local/src/APC-3.1.9 -DPHP_ATOM_INC -I/usr/local/src/APC-3.1.9/include -I/usr/local/src/APC-3.1.9/main -I/usr/local/src/APC-3.1.9 -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 /usr/local/src/APC-3.1.9/apc.c  -fPIC -DPIC -o .libs/apc.o
In file included from /usr/local/src/APC-3.1.9/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 /usr/local/src/APC-3.1.9/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'
/usr/local/src/APC-3.1.9/apc.c:393: error: expected specifier-qualifier-list before 'pcre'
/usr/local/src/APC-3.1.9/apc.c: In function 'apc_regex_compile_array':
/usr/local/src/APC-3.1.9/apc.c:454: error: 'apc_regex' has no member named 'preg'
/usr/local/src/APC-3.1.9/apc.c:454: error: 'apc_regex' has no member named 'preg'
/usr/local/src/APC-3.1.9/apc.c:455: error: 'apc_regex' has no member named 'nreg'
/usr/local/src/APC-3.1.9/apc.c:455: error: 'apc_regex' has no member named 'nreg'
/usr/local/src/APC-3.1.9/apc.c: In function 'apc_regex_match_array':
/usr/local/src/APC-3.1.9/apc.c:487: error: 'apc_regex' has no member named 'preg'
/usr/local/src/APC-3.1.9/apc.c:487: error: 'apc_regex' has no member named 'preg'
/usr/local/src/APC-3.1.9/apc.c:488: error: 'apc_regex' has no member named 'nreg'
/usr/local/src/APC-3.1.9/apc.c:488: error: 'apc_regex' has no member named 'nreg'
make: *** [apc.lo] Error 1
[root@lvps178-77-79-75 APC-3.1.9]# make install
/bin/sh /usr/local/src/APC-3.1.9/libtool --mode=compile cc  -I. -I/usr/local/src/APC-3.1.9 -DPHP_ATOM_INC -I/usr/local/src/APC-3.1.9/include -I/usr/local/src/APC-3.1.9/main -I/usr/local/src/APC-3.1.9 -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 /usr/local/src/APC-3.1.9/apc.c -o apc.lo
 cc -I. -I/usr/local/src/APC-3.1.9 -DPHP_ATOM_INC -I/usr/local/src/APC-3.1.9/include -I/usr/local/src/APC-3.1.9/main -I/usr/local/src/APC-3.1.9 -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 /usr/local/src/APC-3.1.9/apc.c  -fPIC -DPIC -o .libs/apc.o
In file included from /usr/local/src/APC-3.1.9/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 /usr/local/src/APC-3.1.9/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'
/usr/local/src/APC-3.1.9/apc.c:393: error: expected specifier-qualifier-list before 'pcre'
/usr/local/src/APC-3.1.9/apc.c: In function 'apc_regex_compile_array':
/usr/local/src/APC-3.1.9/apc.c:454: error: 'apc_regex' has no member named 'preg'
/usr/local/src/APC-3.1.9/apc.c:454: error: 'apc_regex' has no member named 'preg'
/usr/local/src/APC-3.1.9/apc.c:455: error: 'apc_regex' has no member named 'nreg'
/usr/local/src/APC-3.1.9/apc.c:455: error: 'apc_regex' has no member named 'nreg'
/usr/local/src/APC-3.1.9/apc.c: In function 'apc_regex_match_array':
/usr/local/src/APC-3.1.9/apc.c:487: error: 'apc_regex' has no member named 'preg'
/usr/local/src/APC-3.1.9/apc.c:487: error: 'apc_regex' has no member named 'preg'
/usr/local/src/APC-3.1.9/apc.c:488: error: 'apc_regex' has no member named 'nreg'
/usr/local/src/APC-3.1.9/apc.c:488: error: 'apc_regex' has no member named 'nreg'

任何想法?

USE:

apt-get install libpcre3-dev
yum install pcre-devel

我有同样的问题,我发现这在CentOS 6.2上工作:

sudo yum install php-pear
sudo yum install php-devel
sudo yum install httpd-devel
sudo yum install gcc
sudo yum install pcre-devel
sudo pecl install apc-beta

完整的文章在这里:http://www.accella.net/installing-apc-on-centos-5/

您是否安装了PCRE ?

我正在使用remi储存库。(CentOS 6.5, PHP 5.4)您可以通过以下命令列出可用的包

yum --enablerepo=remi list php54*
yum --enablerepo=remi list php54* | grep apc

我得到了以下apc包

php54-php-pecl-apcu.x86_64     4.0.7-1.el6.remi         @remi

现在您可以使用以下命令安装apc

yum install php54-php-pecl-apcu --enablerepo=remi