【问题标题】:'Memcache' not found in command line PHP script在命令行 PHP 脚本中找不到“Memcache”
【发布时间】:2010-11-13 08:48:24
【问题描述】:

我已经安装了 Memcache 并为通过 Apache (v2.2) 运行的 PHP 应用程序工作,但是当我尝试在命令行中运行 .php 文件时出现此错误:

Fatal error: Class 'Memcache' not found in /usr/local/Matters/app/matters-common/connection.php on line 94

第 94 行是:

$memcache = new Memcache;

其他信息:

CentOS 5.2
PHP 5.2.5 (cli)(构建时间:2008 年 2 月 20 日 21:13:12)
Zend Engine v2.2.0,版权所有 (c) 1998-2007 Zend Technologies
Apache v2.2.8

【问题讨论】:

    标签: php apache command-line memcached


    【解决方案1】:

    大概您已经为 apache 和命令行 (cli) 设置了单独的 php.ini 文件。

    如果是这样,您需要将以下内容添加到您的 cli php.ini 文件中:

    extension=memcache.so
    

    在 Ubuntu 上,它位于 /etc/php5/cli/php.ini

    如果它正常工作,那么如果你在命令行上运行php -m,memcache 应该会出现在模块列表中。

    或者,您可以创建一个具有相同内容的文件/etc/php5/cond.d/memcache.ini

    【讨论】:

    • 是否还有其他模块适用于 cli? cli php.ini 文件中是否设置了“extension_dir”?如果 memcache.so 位于默认目录中(我是 /usr/lib/php5/20060613/),那么您可以将 extension_dir 注释掉。
    【解决方案2】:

    您可能有一个用于 CLI 模式的单独 php.ini 文件。此文件可能不包含 memcache 扩展。

    【讨论】:

      【解决方案3】:

      我确实有这种错误,我也做过 php -i | grep memcache 它说 memcache 已启用,但我解决问题的解决方案是当我编辑 php.ini 时,我只是将 extension_dir="./" 行修改为扩展目录的完整路径,现在看起来像这样, extension_dir="/usr/local/lib" -- 你需要检查 php 的扩展目录在哪里,并确保 memcache.so 在那里..

      然后我只是重新启动了httpd,可惜问题消失了。

      您可以在此处查看详细步骤:

      http://joemarie-aliling.com/223/php-programming/php-memcache-not-found-problem/

      【讨论】:

        【解决方案4】:

        为了简单起见,我使用了:

        php -c /etc/php.ini ./cli-script.php
        

        【讨论】:

        • 在开发环境中,我倾向于将我的 cli php.ini 替换为 apache 的符号链接,因此我只有一个文件(默认情况下,Ubuntu 上的唯一区别是内存限制设置为无限制在命令行上)。
        【解决方案5】:

        如果您不知道您的命令行使用的是哪个 php.ini,请键入 php -i。您将获得一长串设置,在列表顶部附近的某个位置,您会看到正在使用哪个 php.ini:

        Configuration File (php.ini) Path => /Applications/MAMP/bin/php/php5.3.6/conf
        Loaded Configuration File => /Applications/MAMP/bin/php/php5.3.6/conf/php.ini
        Scan this dir for additional .ini files => (none)
        Additional .ini files parsed => (none)
        

        【讨论】:

          猜你喜欢
          • 2011-06-27
          • 2014-03-18
          • 1970-01-01
          • 1970-01-01
          • 2017-11-27
          • 2022-08-17
          • 2012-02-16
          • 2021-05-05
          • 2017-05-28
          相关资源
          最近更新 更多