[EC-CUBE] 新規ページ作成でエラー IN さくらサーバー

さくらサーバーでは、phpの実行ファイルやそのファイルがあるディレクトリに書き込み権限があると動作しない仕様らしいです。

つまり、ディレクトリは「705」もしくは「755」、ファイルは「604」もしくは「644」です。

EC-CUBEがディレクトリを作成する場合、デフォルトでディレクトリは「777」、ファイルは「666」で作成するので、エラーになってしまいます。

EC-CUBEのファイルの作成部分は、2.11系では
「data/class/helper/SC_Helper_FileManager.php」
で行なっているようです。

このファイルを直接変更するのは良くないので、拡張クラスである
「data/class_extends/helper_extends/SC_Helper_FileManager_Ex.php」
を以下のように修正します

class SC_Helper_FileManager_Ex extends SC_Helper_FileManager {
	/*
	 * さくらサーバー対策
	 * 新規ページ作成の際パーミッションを変更する
	 */
	function sfWriteFile($filename, $value){
		$ret = parent::sfWriteFile($filename, $value);
		if($ret){
			chmod($filename,0644);
		}
		return $ret;
	}
}

これでエラーが出ずに新規ページが作成できると思います。