14

次のエラーに直面しています:

キャッチされない例外 'Zend_Log_Exception' とメッセージ file.log をモード "a" で開くことはできません

私のブートストラップには、次のコードがあります。

$logfile = PROJECT_PATH . DIRECTORY_SEPARATOR .'/tmp/logs/'.$config->app->logfile.'.log';

if (!file_exists($logfile))
{
  $fp = fopen($logfile, 'a');
  fclose($fp);
}

$redacteur = new Zend_Log_Writer_Stream($logfile);
$logger    = new Zend_Log($redacteur);

完全なエラー ページ:

警告: fopen(/home/http/me.tv/fbapps/www//tmp/logs/vengeance.log) [function.fopen]: ストリームを開くことができませんでした: /home/http/me にそのようなファイルまたはディレクトリはありません。 tv/fbapps/www/inline/bootstrap_vengeance.php 81 行目

警告: fclose() は、パラメーター 1 がリソースであると想定します。これは、82 行目の /home/http/me.tv/fbapps/www/inline/bootstrap_vengeance.php で指定されたブール値です。

致命的なエラー:メッセージ「/home/http/me.tv/fbapps/www//tmp/logs/vengeance.log」を含むキャッチされない例外「Zend_Log_Exception」は、/home/http/me のモード「a」で開くことはできません.tv/fbapps/www/library/Zend/Log/Writer/Stream.php:78 スタック トレース: #0 /home/http/me.tv/fbapps/www/inline/bootstrap_vengeance.php(85): Zend_Log_Writer_Stream-> __construct('/home/http/medi...') #1 /home/http/me.tv/fbapps/www/htdocs/vengeance/index.php(9): require_once('/home/http/medi. ..') #2 {main} が /home/http/me.tv/fbapps/www/library/Zend/Log/Writer/Stream.php の 78 行目でスローされる

4

3 に答える 3

19

ファイルに適切なパーミッションを設定してください: 0777.

ディレクトリ/home/http/me.tv/fbapps/www/tmp/logs/が存在するかどうかを確認し、ターミナルで次のコマンドを実行します。

chmod 777 /home/http/me.tv/fbapps/www/tmp/logs/vengeance.log
于 2013-01-07T12:55:57.590 に答える
2

Web サーバーのユーザーには、logs フォルダーに対する書き込みと実行 (パススルー) の権限が必要です。

chown www-data:www-data -R logs/ # change www-data by the user of the web server chmod 755 -R logs/

777 をどこかに置くのは非常に悪い考えです。

于 2017-10-05T15:19:31.917 に答える