0

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 ....

プロセス.php

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

1 に答える 1

1

(vhosts.conf の) http.conf で異なる php.ini ファイルを指定できます。PHP はデフォルトでパス内のものを使用しますが (コメント行を実行すると発生します)、Apache では別のものをロードするように指示できます。

次のような行を確認します

PHPINIDir /etc/local/php

(PHPINIDir は重要なビットです!) httpd.conf/vhosts.conf にあり、これは memcached を持つ apache を介して使用しているファイルになります。次に、コマンド ライン ($ php -i | grep 'Configuration File') で使用されている php.ini ファイルを確認し、異なるかどうかを確認します。それは、「php -c XXX/php.ini」を使用して、コマンドラインにApacheと同じiniファイルを使用するように指示することです。

于 2012-08-20T00:22:44.420 に答える