web-dev-qa-db-ja.com

pecl install APCによるAPCのインストールに失敗しました

pecl install APC-3.1.5またはpecl install APCを使用して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’

そして、まだ何も。

18
sangoku

試す

yum install pcre-devel

aPCをインストールする前。

Debianでの使用

aptitude install libpcre3-dev

代わりに。

35
acme

ソースからコンパイルします。パッケージインストーラーが残したものはすべて削除してください。おそらく、古いバージョンの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 =引数の場合、which 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' ''トークンの前/usr/include/php/ext/pcre/php_pcre.h: 46:エラー:予期される '='、 '、'、 ';'、 'asm'または '属性' ''トークンの前/ 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:関数 '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
2
Chris_O

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を導入することに成功しました。

0
johndagostino

Ubuntuの場合:

aptitude install libpcre3-dev

その後:

pecl install apc
0
e.a.