无法加载memcache.so扩展名


9

我使用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 extension:

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扩展!我谷歌周围,但同样的问题!我如何加载此扩展名_ _”

Answers:


1

首先像这样运行您的php二进制文件

php -v

它应该抱怨您的php.ini要加载无法加载的模块...

如果没有抱怨,请运行

php --ini

这应该给您php.ini的位置(以防万一您编辑错误的:D)

这有帮助吗?


1

问题是……,在这一点上:您应该做wget http://pecl.php.net/get/memcache 而不是 tar -zxvf memcache-2.2.5.tgztar -zxvf memcache(这是wget的文件名)。

提取文件后,您将获得最新版本的memcache,在执行此操作时,我将获得文件夹memcache-3.0.8

因此,下一步将是:

cd memcache-3.0.8 
phpize 
./configure --enable-memcache 
make
make install

最后,别忘了将此行添加到您的php.ini中:

extension = memcache.so

并重新启动Apache。


0

您确定memcached安装在正确的位置吗?如果您跑步,会得到什么:locate memcache.so

是否已安装memcached(二进制文件)?是否需要任何额外的库(libmemcache)?


您应该使用find而不是locate,因为它可能尚未在locate数据库中。
慈安

memcached守护程序已成功安装!当我找到memcache扩展名时,找到memcache.so /usr/local/lib/php/extensions/no-debug-non-zts-20060613/memcache.so /usr/local/src/memcache-2.2.5/.libs /memcache.so /usr/local/src/memcache-2.2.5/modules/memcache.so我认为问题是php没有加载扩展!
billyduc

0

添加extension_dir指令以告诉PHP从何处加载扩展并从extension指令中删除路径。

extension = memcache.so
extension_dir = /usr/local/lib/php/extensions/no-debug-non-zts-20060613

可怜的我 !没用!
billyduc


0

这是因为您的/ var / tmp以noexec权限挂载

您可以在临时删除/ var / tmp符号链接并创建新的/ var / tmp文件夹后,尝试使用fuenfundachtzig命令重新编译memcache。(此设置可能与您的服务器不同)

#rm /var/tmp
#mkdir /var/tmp

#pecl install memcache

然后保护回您的临时文件夹

#rm -rf /var/tmp
#ln -s /tmp /var/tmp

在这里阅读更多关于保护tmp的信息

以及如何在通过noexec挂载tmp的情况下使用PECL


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.