无法通过 pecl install APC 安装 APC

无法通过 pecl install APC 安装 APC

当我尝试通过安装 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’

还是没有结果。

答案1

尝试

yum install pcre-devel

在安装 APC 之前。

关于 Debian 的使用

aptitude install libpcre3-dev

反而。

答案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,并添加-配置结果

如果您收到此错误(与您发布的错误相同)

在从 /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' 或 '属性' 前 '' 标记 /usr/include/php/ext/pcre/php_pcre.h:46: 错误:预期 '='、','、';'、'asm' 或 '属性' 前 '' 标记 /usr/include/php/ext/pcre/php_pcre.h:52: 错误:在 'pcre' 之前需要 specifier-qualifier-list /usr/local/src/APC-3.1.5/apc.c:362: 错误:在 'pcre' 之前需要 specifier-qualifier-list /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

答案3

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

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

答案4

在 Ubuntu 中:

aptitude install libpcre3-dev

进而:

pecl install apc

相关内容