AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 65092
In Process
billyduc
billyduc
Asked: 2009-09-15 02:37:44 +0800 CST2009-09-15 02:37:44 +0800 CST 2009-09-15 02:37:44 +0800 CST

无法加载 memcache.so 扩展

  • 772

我使用配置命令从源代码构建 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 扩展!我用谷歌搜索,但同样的问题!我怎样才能加载这个扩展_ _”

memcached
  • 7 7 个回答
  • 30605 Views

7 个回答

  • Voted
  1. Arenstar
    2010-11-14T20:09:07+08:002010-11-14T20:09:07+08:00

    首先运行你的php二进制文件

    php -v
    

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

    如果它没有抱怨,运行

    php --ini
    

    这应该为您提供 php.ini 的位置(以防您编辑错误:D)

    这有帮助吗?

    • 1
  2. Dylan B
    2017-02-23T00:47:59+08:002017-02-23T00:47:59+08:00

    问题是......,在这一点上:wget http://pecl.php.net/get/memcache 而不是 tar -zxvf memcache-2.2.5.tgz,你应该这样做tar -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。

    • 1
  3. Tom O'Connor
    2009-09-15T03:04:06+08:002009-09-15T03:04:06+08:00

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

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

    • 0
  4. Dan Carley
    2009-09-30T02:10:30+08:002009-09-30T02:10:30+08:00

    添加一个extension_dir指令来告诉 PHP 从哪里加载扩展并从extension指令中删除路径。

    extension = memcache.so
    extension_dir = /usr/local/lib/php/extensions/no-debug-non-zts-20060613
    
    • 0
  5. fuenfundachtzig
    2010-04-02T07:47:29+08:002010-04-02T07:47:29+08:00

    帮助我的一件事是使用

    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. 
    
    • 0
  6. apis17
    2011-09-20T14:44:09+08:002011-09-20T14:44:09+08:00

    这是因为您的 /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

    • 0
  7. vfedorkov
    2016-01-11T06:05:48+08:002016-01-11T06:05:48+08:00

    如果您编译了 PHP,请尝试从php.ini中删除extension_dir。

    • 0

相关问题

  • 应该使用哪个 PHP(操作码)缓存,为什么?

  • 使用多台服务器为网站提供服务的速度缺点是什么?

  • 快速查询大型数据集:MySQL MEMORY (HEAP) 引擎、MyISAM 或其他东西(例如 MemCached)

  • nginx 和 memcached 协同工作的效果如何?

  • “<service_name> 已死,但子系统已锁定”是什么意思?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve