pecl install APCを介した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

チャームのように働いた...
エマニュエルオケケ

+1これは私のために働いた、受け入れられた解決策であるはずです。ありがとう
リズ14年

これは私にもそれを修正しました。受け入れられた回答に対して+1。
ジゴジャック

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 =引数については、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:No such suchファイルまたはディレクトリ/usr/local/src/APC-3.1.5/apc.c:38からインクルードされたファイル:/usr/include/php/ext/pcre/php_pcre.h:45:error:expected '='、 '、'、 '、'、 'asm'、' ' token /usr/include/php/ext/pcre/php_pcre.h:46の前の' attribute ' :error:expected '='、 '、'、 ';' 、 'asm'または ' attribute ' before ''token /usr/include/php/ext/pcre/php_pcre.h:52:エラー:' 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:error: ' 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フラグに関する警告が表示された場合、無視できます。
ジョセフラスト

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:私も同じことを思いつきました。ここにソリューションPLZ共有がある場合。私のPHPバージョンは5.3.2であり、このエラーが発生しますprocedure entry point pcre_exe could not be located
-RSK

0

Ubuntuの場合:

aptitude install libpcre3-dev

その後:

pecl install apc

新しい情報はありません(TM)。ダウン投票。
鹿ハンター

ありがとう。Ubuntuユーザーにとっては、役に立つ情報です。以前の回答にコメントできませんでした(コメントはまだ無効になっています。回答のみ可能です)。
ea

ありがとう。私のubuntuの何が問題なのか見つけられませんでした。助けて頂きました。
shukshin.ivan
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.