2016/04/28
ECCUBE2.13 ECCUBE2.11~
サーバーの仕様によりますが、一部サーバでは、デザイン管理で新規ページを作成後、アクセスするとInternal Server Errorになります。
原因は、user_dataに作成されたphpのパーミッションが「666」になっているためです。
パーミッションを「644」に変更すれば問題なく表示されますが、
ユーザー側にいちいち変更してもらうことはほぼ不可能と思われます。
そこで、ファイル修正で対応をすることにしました。
参考サイト
ECCUBEの新規追加ページがInternal Server Error・Not Foundに
修正するファイルは
/data/class/helper/SC_Helper_FileManager.php
です。
public function sfWriteFile($filename, $value)
{
if (!is_dir(dirname($filename))) {
SC_Utils_Ex::recursiveMkdir(dirname($filename), 0777);
}
$fp = fopen($filename, 'w');
if ($fp === false) {
return false;
}
if (fwrite($fp, $value) === false) {
return false;
}
//追加
if ( ( pathinfo ( $filename, PATHINFO_EXTENSION) ) == "php" ) {
chmod($filename, 0644);
}
return fclose($fp);;
}
15~17行目のif ( ( pathinfo~~を追加することにより、新規作成でパーミッションが644になるようにしています。
最近はセキュリティ強化のため、このような仕様のサーバも増えているようです。
ちょっと面倒ですが、上記のように対応すると問題ないようです。
ゼヒトモ内でのプロフィール: ROCKSTREAM, ゼヒトモのホームページ作成・制作サービス, 仕事をお願いしたい依頼者と様々な「プロ」をつなぐサービス
2025/01/31
JQuery
2025/01/01
神社
御朱印
相模原
2024/10/27
ブラウザ
カスタム投稿
Wordpress
2024/08/20
神社
御朱印
2024/07/06
神社
御朱印