【问题标题】:Understanding why PHP does not load an extension了解 PHP 不加载扩展的原因
【发布时间】:2017-01-10 10:56:15
【问题描述】:

我已经从源代码 (5.5.7) 以及 memcached 扩展 (2.2.0) 编译了 PHP。我已经安装了 memcached 并且扩展程序正确安装在 /usr/local/lib/php/extensions/no-debug-non-zts-20121212 中(有 memcached.so 文件),我的 php -i 告诉我扩展目录是正确的:extension_dir => /usr/local/lib/php/extensions/no-debug-non-zts-20121212

PHP 可以正确运行简单文件,但是当我使用 memcached 加载应用程序时,PHP 错误日志文件只告诉我 PHP Fatal error: Class 'Memcached' not found 但我没有更多详细信息。

当我运行php -m 时,没有列出memcached 模块。

如何找出 PHP 不加载 memcached 的原因?

【问题讨论】:

  • 需要将模块的加载添加到php.ini文件中。
  • 谢谢。找了好几个小时了,不明白为什么不使用 mods-available(里面有一个 memcached.conf 文件,带有正确的extension= 字符串

标签: php memcached


【解决方案1】:

郑重声明,PHP 的extension_dir 中有一个memcached.so 文件是不够的。 PHP 还需要在 php.init 文件中显式加载扩展。 用下面的命令解决了 echo 'extension=memcache.so' >> /usr/local/lib/php.ini

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-08-03
    • 1970-01-01
    • 1970-01-01
    • 2014-03-03
    • 1970-01-01
    • 2012-10-01
    • 2014-04-10
    相关资源
    最近更新 更多