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になるようにしています。
最近はセキュリティ強化のため、このような仕様のサーバも増えているようです。
ちょっと面倒ですが、上記のように対応すると問題ないようです。
2026/11/07
神社
2026/11/06
AI
2026/11/05
Wordpress
ホームページ制作
2026/11/04
Mac
2026/11/03
AI