运行命令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
运行在Amazon上。
静态编译APC和MySQL查询缓存意味着什么?
怎么做的?
更新1:
由于我还没有用APC编译mysqlnd_qc,所以我尝试用memcached编译它。这是一个有趣的问题。./configure命令没有识别pecl为memcache提供的选项。我发现选项输入错误.
因此,当pecl安装询问选项时,我关闭了它,并自己运行了以下命令:
sudo ./configure --enable-mysqlnd-qc-memcache --with-libmemcached-dir=/usr/
sudo make
sudo make install所以对于memcached,它现在起作用了。
如果在Fedora上运行(我猜还有RedHat和CentOS),那么就有可用的rpm
sudo yum install php-pecl-mysqlnd-qc更新2:
我设法用APC编译,见下面的详细答案。
发布于 2012-12-05 08:39:07
找到了解决办法:
以下是我所做的:
Get 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让装甲运兵车:
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(对我来说,链接失败了,不得不在链接中添加‘-lp线程’)
make test
sudo make install我还使用了以下两个命令,但我不记得什么和何时.
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-11-01 15:44:15
看起来,您必须从源代码编译,给出正确的.configure选项。pecl安装只为您提供一个.so,它是一个动态模块扩展,您可以通过php.ini添加
因此,如果您真的需要带有apc的mysqlnd_qc (您是吗?),您必须获得php,并使用所需的模块编译它。
如果您不需要它,只需说不或点击返回时,佩克尔安装mysqlnd_qc询问你。
https://stackoverflow.com/questions/13180141
复制相似问题