在PHPUnit中执行时找不到类Memcache

时间:2014-07-09 03:07:20

标签: memcached phpunit

我已经安装了memcached并加载了memcached扩展名,但是当我使用PHPUnit运行测试时,它告诉我找不到类memcached。谁能告诉我为什么,以及如何解决它?

1 个答案:

答案 0 :(得分:2)

对我来说问题是我在我的机器上安装了两个不同的php版本。一个是安装了Memcached而另一个没有安装。我跑了:

$ whereis php

它列出了两个php安装的路径。然后我通过执行:

找到了安装了Memcached的文件
$ /usr/bin/php -i | grep memcache
$ /usr/local/bin/php -i | grep memcache

如果这些都没有返回任何匹配项,并且您确定已安装了Memcached,那么您使用了错误的php.ini,如上所述。您可以尝试使用-c选项启动php,以指定php.ini的路径:

$ /usr/bin/php -c /etc/php5/cli/php.ini

然后只是在执行单元测试时使用正确的php路径:

$ /usr/bin/php vendor/bin/phpunit tests

哦,请注意,有两个单独的扩展名 - 一个名为“Memcache”,另一个名为“Memcached”。如果您安装了其中一个,并尝试使用另一个,则由于显而易见的原因,它将无法工作。