Blog

【ECCUBE2.13】新規ページ作成エラーについて

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ゼヒトモのホームページ作成・制作サービス仕事をお願いしたい依頼者と様々な「プロ」をつなぐサービス

カテゴリー

月間アーカイブ

MORE

ミュージシャンズ・プラザ

神社仏閣ホームーページ制作

ホームページ制作問合せ