さくらのサーバーでEC-CUBEのPHPパーミッションについて

仕事でEC-CUBEをいじっていて気になったのでメモです。

EC-CUBEをさくらレンタルサーバーにインストールする必要があったのですが、さくらのサーバーはPHPのパーミッションを0755にしなきゃいけない。
んで、「デザイン設定」から「新規ページ作成」をするとファイルのパーミッションが0666とかになってしまうので、EC-CUBE側でファイル作成時のパーミッションを変更する必要があります。

ということで、その為の方法です。

「/data/class/pages/admin/design/」内にある、LC_Page_Admin_Design_MainEdit.phpを編集します。

一番最後の方(451行目あたり)にある以下の文を探します。

*******************************************************************
        // require.phpの場所を書き換える
        $php_data = str_replace("###require###", str_repeat('../', substr_count($url, '/')) . '../require.php', $php_data);

        // phpファイルの作成
        $fp = fopen($path,"w");
        fwrite($fp, $php_data);
        fclose($fp);

    }
*******************************************************************

ここにchmodでパーミッションを変更する一文を追加します。

*******************************************************************
        // require.phpの場所を書き換える
        $php_data = str_replace("###require###", str_repeat('../', substr_count($url, '/')) . '../require.php', $php_data);

        // phpファイルの作成
        $fp = fopen($path,"w");
        fwrite($fp, $php_data);
        fclose($fp);
        chmod($path, 0755);←ここに追加する
    }
*******************************************************************

これで、ファイルを作成する際に0755で作成してくれると思います。
 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です