我使用 configure 命令从源代码构建了 PHP
'./configure' '--prefix=/usr/local/php-5.2.8' '--with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d' '--with-apxs2=/usr/local/httpd/bin/apxs' '--with-mysql=/usr/local/mysql/' '--with-zlib'
我安装了 php memcache 扩展:
wget http://pecl.php.net/get/memcache
tar -zxvf memcache-2.2.5.tgz
cd memcache-2.2.5
phpize
./configure --enable-memcache
make
make install
我添加到我的 /usr/local/lib/php.in
extension=memcache.so
重新启动我的 apache 并运行 php-m,但 php 似乎没有加载 memcache 扩展,我按照此站点上的解决方案操作 http://www.howtoforge.com/forums/showthread.php?t=26554
我添加了完整路径
extension=/usr/local/lib/php/extensions/no-debug-non-zts-20060613/memcache.so
重新启动了 apache,但它没有加载 memcache 扩展!我在 google 上搜索,但还是同样的问题!我该如何加载这个扩展 _ _”
答案1
首先运行你的 php 二进制文件
php -v
它应该抱怨你的 php.ini 想要加载无法加载的模块......
如果它没有抱怨,运行
php --ini
这应该会告诉你 php.ini 的位置(以防你编辑错了 :D)
这有帮助吗?
答案2
问题是……,此时:您应该执行 ,wget http://pecl.php.net/get/memcache
而不是 (这是来自 wget 的文件名)。tar -zxvf memcache-2.2.5.tgz
tar -zxvf memcache
解压文件后,您将获得最新版本的 memcache,此时我得到了该文件夹memcache-3.0.8。
因此,接下来的步骤将是:
cd memcache-3.0.8
phpize
./configure --enable-memcache
make
make install
最后,不要忘记将这一行添加到您的 php.ini 中:
extension = memcache.so
并重新启动 Apache。
答案3
你确定 memcached 安装在正确的位置了吗?运行以下命令会得到什么结果:locate memcache.so
memcached 是否已安装(二进制)?是否需要任何额外的库(libmemcache)?
答案4
对我有帮助的一件事就是使用
pecl uninstall memcache
pecl install memcache
另一件事(尽管这只适用于相当旧的 php 版本):http://www.hollub.at/phpmanual/ref.memcache.html说:
In order to use these functions you must compile PHP with Memcache support by using the --enable-memcache[=DIR] option.