多くのDESCRIBE
クエリが実行され、パフォーマンスに影響を与えたため、ZendFrameworkでメタデータキャッシュを設定しました。
$frontendOptions = array ('automatic_serialization' => true);
$backendOptions = array ('cache_dir' => CACHE_PATH . '/db-tables-metadata');
$cache = Zend_Cache::factory(
'Core',
'File',
$frontendOptions,
$backendOptions
);
Zend_Db_Table::setDefaultMetadataCache($cache);
私は確かに作成されたキャッシュファイルを見ることができ、ウェブサイトはうまく機能しています。
ただし、単体テスト、またはDBクエリを実行する同じアプリケーションのスクリプトを起動すると、Zendがキャッシュファイルを読み取れなかったため、エラーが発生します。
これは、Webサイトでは、キャッシュファイルがwwwユーザーによって作成されており、 phpunitまたはスクリプトを実行すると、ユーザーと一緒にそれらを読み取ろうとして失敗するためです。
それに対する解決策はありますか?私はいくつかのクイックフィックスのアイデアを持っていますが、私は良い/安定した解決策を探しています。そして、可能な限りphpunitやスクリプトを実行することは避けたいと思いwww
ます(実際的な理由から)。