ウェブ、ショウジン

EC-CUBE管理画面で作成した新規ページで500エラー

2011-8-2
Category
CMS

EC-CUBEでは管理画面から新規ページを作成することができる。

デザイン管理 - ページ詳細設定 | EC-CUBE管理画面

デザイン管理 > ページ詳細編集

にアクセスし「ページ詳細編集」項目において

・名称(ページタイトル)
・URL(ページにブラウザでアクセスするためのURL)
・内容

等を入力すると、

ショップURL/user_data/***.php

でアクセス可能。

のはずが、実際にブラウザでアクセスすると500のエラーが出てしまい、作成したページを表示することができない。

Apacheのエラーログを確認してみると

[Tue Aug 02 11:53:34 2011] [error] [client 211.129.79.111] Premature end of script headers: sample01.php

とある。

このエラーはたいていサーバ側の設定とスクリプトの問題らしい。いろいろな原因から生じるらしいけれど、とりあえずパーミッションが怪しい気がしたので(just a 勘)該当ファイル(作成したphpファイル)があるuser_dataディレクトリのパーミッションを777から755に変更。

666や777のように自分以外に書き込み権限があるとセキュリティ関係から前述のエラーが出ることがあるらしい。今回はディレクトリだけパーミッションを変更したけれどファイルのパーミッションが原因の場合もありそうなので注意。

だがしかーし。

これでもまだ500エラーは解消されず。

検索していくつか見ていくと、相変わらずパーミッション関係が原因のようなので、今度は以下のファイルを編集する。

data/class/pages/admin/design/LC_Page_Admin_Design_MainEdit.php

このファイルは管理画面で新規ページを生成する際に関係するものっぽい。このファイル内の以下の記述部分にchmodの設定を追加。

// phpファイルの作成
$fp = fopen($path,"w");
fwrite($fp, $php_data);
fclose($fp);
chmod($path, 0755); // この1行を追加

これで再度該当ページにブラウザでアクセスするとエラーは解消され、作成した新規ページを無事表示できた。

今回お世話になった記事は

さくらインターネットで「Premature end of script headers」
[EC-CUBE]新規にページを作成したときに500エラー

です。

ありがとうございました。

Categories

Tag Cloud

AdMob Android Apache centos CodeIgniter EC-CUBE facebookアプリ facebookページ feed Firefox Flash google googleanalytics htaccess iPad iPhone JavaScript lamp mobile nginx ogp pear php plugin rollover rss sendmail setting smarty ssh Titanium Mobile Titanium Studio tutorial ubuntu vim VirtualBox vmware vps Windows WordPress xampp youtube さくらインターネット アクセス解析 カスタム投稿