私はZendを初めて使用し、数日間使用します。
致命的なエラーメッセージが表示されます:
致命的なエラー:キャッチされない例外'Zend_Cache_Exception'とメッセージ'cache_dir "/ home / [REDACTED] /application/../data/tmp/" is not writable' in /home/[REDACTED]/library/Zend/Cache.php: 209 スタックトレース: #0 /home/[編集済]/library/Zend/Cache/Backend/File.php(181):Zend_Cache :: throwException('cache_dir "/ hom ...') #1 /home/[編集済み]/library/Zend/Cache/Backend/File.php(129):Zend_Cache_Backend_File-> setCacheDir('/ home / user / Proj ...') #2 /home/[編集済]/library/Zend/Cache.php(153):Zend_Cache_Backend_File-> __ Construct(Array) #3 /home/[編集済]/library/Zend/Cache.php(94):Zend_Cache :: _ makeBackend('File'、Array、false、false) #4 /home/[編集済]/application/Bootstrap.php(42):Zend_Cache :: factory('Core'、'File'、Array、Array) #5 /home/[編集済]/library/Zend/Application/Bootstrap/BootstrapAbstract.php(669):Bootstrap-> _ initCache() #6 / home / [REDACTED] /library/Zend/Applica in /home/[REDACTED]/library/Zend/Cache.php on line 209
エラーメッセージによると、ディレクトリのフォルダ権限の問題が予想されますtmp
。ただし、ディレクトリは書き込み可能です。
user @ [REDATCED]:〜/ [REDATCED] / data $ ls -hal 合計24K drwxrwxr-x6ユーザーuser4,0KJan718:40。 drwxr-xr-x12ユーザーuser4,0KJan 9 12:50 .. drwxrwxr-x3ユーザーユーザー4,0KDez1711:42ロケール drwxrwxr-x2ユーザーユーザー4,0KDez1711:42ログ drwxrwxr-x2ユーザーユーザー4,0KDez1711:42セッション drwxrwxr-x2ユーザーuser4,0KJan 7 18:40 tmp
回避策は、次の行にコメントを付けることですapplication/Bootstrap.php
。
保護された関数_initCache(){ $ frontendOptions = array( 'lifetime' => 7200、//2時間のキャッシュライフタイム 'automatic_serialization' => true ); $ backendOptions = array( 'cache_dir'=>APPLICATION_PATH。'/../data/tmp/'//ディレクトリ ); //Zend_Cache_Coreオブジェクトを取得します $ this-> cache = Zend_Cache :: factory('Core'、'File'、 $ frontendOptions、$ backendOptions); Zend_Registry :: set('cache'、$ this-> cache); Zend_Date :: setOptions(array( 'キャッシュ'=>$ this-> cache ));
この回避策は同僚によって提案されました。ここで何をしているのか、またはこのコードがZendまたはコードベースの一部である場合でもわかりません。醜いハッキングや、コードをコメントアウトして「修正」したり、自分が何をしているのか、その背後にある理由を知らずに何かをしたりするのは好きではありません。
その上、コードは私の同僚のマシンで機能しているようです。そして、リポジトリからコードコミットをプルするたびに、コメントのないコピーを取得します。
私はおそらくリポジトリなどからファイルを除外することができますが(私もgitを初めて使用します)、私は本当に好きです:
- エラーの原因を知る
- 解決策を知る