ECCUBE新規ブロック編集できない

ECCUBEの管理画面から、ブロック編集画面で新規ブロック追加をクリックすると以下のようなWarningメッセージが表示され、ブロック追加ができませんでした。


警告文==========================

Warning: file_get_contents() [function.file-get-contents]:
Unable to access /virtual/***/public_html/***/data/
Smarty/templates/default/bloc/test.tpl in /virtual/***/
public_html/***/data/class/pages/admin/
design/LC_Page_Admin_Design_Bloc.php on line 96

Warning: file_get_contents(/virtual/***/public_html/
******/data/Smarty/templates/default/bloc/test.tpl)
[function.file-get-contents]: failed to open stream:
in /virtual/***/public_html/******/data/
class/pages/admin/design/
LC_Page_Admin_Design_Bloc.php on line 96

==========================

PHPファイルのアクセスとオープンができないですね、というような警告文であることはわかりました。

ブロック編集からの新規ブロック追加が無理なら、デフォルトのブロックを編集してみることにしましたが、やはり状況は変わらず、ブロックのHTMLソースも更新が出来ない状態となりました。


属性値の問題であることは明白であったものの、他の要因がわからなかったので、ファイル所有者やディレクトリ構成を調べていくと、
どうやらPHPセーフモードと、ファイル所有者の影響であることがわかりました。


CORESERVERではPHPセーフモードが有効になっており、ECCUBEの管理システムでブロックを生成すると、


user_data/packages/default/bloc

とblocフォルダが作成され、パーミッションも777とアクセスや作成についても問題がないように見えましたが、所有者が"apache"になっていてサーバが所有者になっていました。



なので一度、上記のblocフォルダを削除して、ローカルで作成したフォルダをアップして属性値を777し、blocフォルダ所有者を自分のアカウントであることを確認します。



再度ブロック編集から既存のログインブロックなどを編集して登録すると、blocフォルダ以下にlogin.tplが666で作成できていれば、その後に新規ブロックの追加が可能になりました。



PHPのセーフモードに関しては、確かPHPをCGIとして認識させるようなファイルを作成すること回避できた記憶がありますが、レンタルサーバーでもあるし、PHP6では非推奨として廃止予定であるようですので、そのような事由で上のような回避策で対応してみました

ブログ気持玉

クリックして気持ちを伝えよう!

ログインしてクリックすれば、自分のブログへのリンクが付きます。

→ログインへ

なるほど(納得、参考になった、ヘー)
驚いた
面白い
ナイス
ガッツ(がんばれ!)
かわいい

気持玉数 : 0

この記事へのコメント

この記事へのトラックバック