PHP Fatal error: Uncaught –> Smarty: unable to write file

Smarty
スポンサーリンク

事象

ページが表示されん

原因

access log を見てみると、


PHP Fatal error: Uncaught --> Smarty: unable to write file

のメッセージが出力されてる。

Smartyのキャッシュが書き込めない。

さらに見てみると、書き込み権がなかった。

  • apacheの実行ユーザーがデフォルトの「daemon」
  • ディレクトリのオーナーがroot
  • ディレクトリのパーミッションが755

対応

対応方法としては、

  • apacheの設定(httpd.conf)で、実行ユーザーまたは実行グループを変える
    • ディレクトリのオーナーまたはグループも再帰的に上記に合わせる
  • ディレクトリのパーミッションを再帰的に変える
  • ディレクトリのオーナーを再帰的にdaemonにする

などが考えられるが、今回は、

  • ディレクトリのオーナーを再帰的にdaemonにする

を実行して解決した。


# chown -R daemon target_directory

コメント