1

コマンドpecl install mysqlnd_qcを実行してキャッシュをAPC有効にしてインストールすると、次のエラーが発生します。

configure: error: APC is onlysupported if both APC and MySQL Query Cache are compiled statically
ERROR: `/var/tmp/mysqlnd_qc/configure --enable-mysqlnd-qc-apc=yes --enable-qc-memcache=no --enable-qc-sqlite=no' failed

APCを有効にしないと、正常にコンパイルされます...

PHPバージョン:5.3.17

AmazonRDSで実行しています。

APCとMySQLクエリキャッシュを静的にコンパイルするとはどういう意味ですか?

それはどのように行われますか?


アップデート1:

mysqlnd_qcをAPCでコンパイルできなかったので、でコンパイルしてみましたmemcached。ここに興味深い問題がありました。コマンドは、与え./configureられたオプションを認識しませんでした。オプションが間違って入力されていることがわかりました...peclmemcache

そのpeclため、オプションを要求しているときにインストールを強制終了し、次のコマンドを自分で実行しました。

sudo ./configure --enable-mysqlnd-qc-memcache --with-libmemcached-dir=/usr/
sudo make
sudo make install

だからmemcached今それで動作します。

で実行している場合Fedora(私も推測RedHatCentOSます)が利用可能ですrpm

sudo yum install php-pecl-mysqlnd-qc

アップデート2:

私はなんとかAPCでコンパイルできました。以下の詳細な回答を参照してください。

4

2 に答える 2

2

よく解決策を見つけました:

これが私がしたことです:

PHP 5.3.17を入手してください:

wget https://github.com/php/php-src/archive/PHP-5.3.17.zip
unzip PHP-5.3.17.zip

mysqlnd_qcを取得します。

wget http://pecl.php.net/get/mysqlnd_qc-1.1.1.tgz
tar -zxvf http://pecl.php.net/get/mysqlnd_qc-1.1.1.tgz
mkdir -p php-src-PHP-5.3.17/ext/mysqlnd_qc
cp -R mysqlnd_qc-1.1.1/* php-src-PHP-5.3.17/ext/mysqlnd_qc

APCを入手する:

wget http://pecl.php.net/get/APC-3.1.13.tgz
tar -xzvf APC-3.1.13.tgz
mkdir -p php-src-PHP-5.3.17/ext/apc
cp -R APC-3.1.13/* php-src-PHP-5.3.17/ext/apc/

コンパイル:(他のシステムではすべてが必要なわけではないかもしれません)

sudo yum install bison
sudo yum install libxml2 libxml2-devel
sudo yum install autoconf213
sudo yum install httpd-devel
sudo yum install bzip2 lbzip2 bzip2-libs bzip2-devel

export PHP_AUTOCONF=/usr/bin/autoconf-2.13

./buildconf --force
make clean && make

(私にとって、リンケージは失敗し、リンケージに「-lpthread」を追加する必要がありました)

make test
sudo make install

次の2つのコマンドも使用しましたが、いつ何をしたか覚えていません...

phpize
aclocal

phpinfoと同じ./configureように実行し、次のオプションを追加します。

--with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --enable-mysqlnd-qc --enable-mysqlnd-qc-apc --enable-mysqlnd --enable-apc --enable-static=apc
  • すべて--withを交換する必要があります。
于 2012-12-05T08:39:07.553 に答える
0

適切な.configureオプションを指定してソースからコンパイルする必要があるようです。pecl installは、動的モジュール拡張子である.soを提供するだけで、php.iniを介して追加できます。

したがって、apcでmysqlnd_qcが本当に必要な場合(そうですか?)、php srcを取得し、必要なモジュールでコンパイルする必要があります。

必要ない場合は、pecl install mysqlnd_qcから質問があったときに、「いいえ」と言うか、「return」キーを押してください。

于 2012-11-01T15:44:15.393 に答える