'Zend_Cache_Exception',消息'必须加载memcache扩展名以使用此后端!'通过shell_exec()

时间:2012-08-19 23:50:15

标签: php zend-framework memcached shell-exec

通过 shell_exec()调用PHP脚本( process.php )时发现一个奇怪的错误 消息:

Fatal error: Uncaught exception 'Zend_Cache_Exception' with message 'The memcache extension must be loaded for using this backend !' in /Applications/XAMPP/xamppfiles/htdocs/shared_lib/ZendFramework/1.5.2-patched/Zend/Cache.php:208

但是,如果我在终端中调用,我可以调用process.php 而不会出现任何错误。

伪代码:

control.php

// some business logic ....
shell_exec("php process.php");
// some business logic ....

process.php

// some business logic ....
call Zend_Cache to retrieve data from memecache
// some business logic .... 

1 个答案:

答案 0 :(得分:1)

您可以在http.conf(vhosts.conf)中指定不同的php.ini文件。 PHP将默认使用路径中的那个(当你运行hte注释行时会发生这种情况)但是在apache中你可以告诉它加载另一个。

检查

之类的行
PHPINIDir /etc/local/php
httpd.conf / vhosts.conf中的

(PHPINIDir是重要的位!),这将是您通过具有memcached的apache使用的文件。然后检查命令行使用的php.ini文件($ php -i | grep'配置文件'),看看是否有不同。它是,使用“php -c XXX / php.ini”告诉命令行使用与apache相同的ini文件。