ECCUBEを開発環境から本番ドメインに変更でエラーが・パス変更について
2015/06/12
ECCUBE・公開しようとドメインを当てたらエラーが発生!
ECCUBEのエラーが出る状況と原因の概要解説
レンタルサーバを使って ECCUBEを構築し、本番公開する際にドメインを当てると下記のようなエラーが出て動かなくなってしまった、という場合の対処方法です。
上記の画像の値などは一部適当に加工してありますが、
「▼▼▼ デバッグ情報ここから ▼▼▼」
「▲▲▲ デバッグ情報ここまで ▲▲▲」
「システムエラーが発生しました。
大変お手数ですが、サイト管理者までご連絡ください。」
といった感じでエラーが表示されます。
原因は、共有サーバで設定していた場合のパスと、ドメインを当てた場合のパスの見え方が違ってくるためです。
より具体的な話としては、
開発中:レンタルサーバの割り当てドメインでの URL
http://s-giken.sakura.ne.jp/s-giken/html/
公開時:ドメインでの URL
http://s-giken.ne.jp/
開発中は、「開発中」の URLで開発をしていて、公開をしようとしてドメインをあてて「公開時」の URLにしたらエラーが出るようになった、というような状況です。
ドメインを設定する前に、「hosts」で設定した場合も同じ状況になります。
上記の URLを見てもらっても分かる通り、「開発中」の URLには「s-giken/html/」の部分が余計についています。
これがエラーの原因です。
ECCUBEのエラーの解消方法
ファイルが置いてあるパスが変更になりますので、ECCUBE内でこのパスが設定してある個所を変更する必要があります。
ですが、パスを変更すると ECCUBE自体が動かなくなることもありまして、管理画面から変更することはできません。
修正作業は FTPを使ってファイルの変更をすることになります。
【変更対象ファイル】
/data/config/config.php
【変更対応箇所】
<?php
define('ECCUBE_INSTALL', 'ON');
// define('HTTP_URL', 'http://s-giken.sakura.ne.jp/s-giken/html/');
// define('HTTPS_URL', 'http://s-giken.sakura.ne.jp/s-giken/html/');
define('HTTP_URL', 'http://s-giken.ne.jp/');
define('HTTPS_URL', 'http://s-giken.ne.jp/');
// define('ROOT_URLPATH', '/s-giken/html/');
define('ROOT_URLPATH', '/');
:
:
:
変更点は、上記を見てもらうと分かると思いますが、下記の様に修正を行います。
define('HTTP_URL', 'http://s-giken.sakura.ne.jp/s-giken/html/');
↓
define('HTTP_URL', 'http://s-giken.ne.jp/');
define('ROOT_URLPATH', '/s-giken/html/');
↓
define('ROOT_URLPATH', '/');
ECCUBEのエラーを解消させた後
パスの設定を変更すると、もともとアクセスしていた URLではアクセスできなくなります。
——————-
Not Found
The requested URL /s-giken/html/ was not found on this server.
——————-
アクセスすると上記のような 404エラーのページが表示されるでしょう。
これは、パスが変わるためにいずれかを選択する必要があるわけですので、致し方がないことかと思います。
ECCUBEの環境をコピーする方法
今回の記事では、ドメインを当てて本番公開をする方法の解説でしたが、公開後、プログラムをメンテナンスする際などに必要になる開発環境の構築方法、ECCUBEの環境をコピーする方法については「ファイル変更だけ!ECCUBEの本番から開発環境をコピーする手順を解説」に記事を書きましたので、あわせて確認してください。
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!
関連記事
-
-
GMOペイメントゲートウェイのjava.io.IOExceptionのエラー
ECCUBEの決済でGMOペイメントゲートウェイのモジュールを使ってテスト決済を行った場合の不具合、java.io.IOExceptionと言うエラーの原因と対策方法の解説です。
-
-
ECCUBEのポイント設定、ポイント付与率を一括で変更する方法解説
ECCUBEの商品個別に設定してあるポイントを一括で変更する方法を解説。ECCUBEには商品個別のポイントを一括して変更する機能がありません。SQLを作成して一括置換!
-
-
Smartyのテンプレート内の処理で計算、加工をする方法
Smartyのテンプレート上で変数を計算する、加工する方法を解説します。
-
-
PHPで1ヵ月前、先月、今月1日、来月末の日付などの算出はDateTimeImmutableを使う
PHPには日時をオブジェクトとして生成する関数「DateTimeImmutable」「DateTime」が用意されている。これを利用して1ヶ月後、月初日、月末日、5日後などを指定して日付を取得できる。
-
-
路線・駅検索のために緯度経度からPHPで2点間の距離を計算する処理解説
路線・駅検索の仕組みの構築は大変。それを簡易に実装するために緯度経度を元に距離計算をする仕組みを考案。まずは2点間の距離を計算する仕組みを解説し、距離計算にまつわる関連技術も紹介。
-
-
PHPで特定の日間の日付を for、strtotimeで表示する
ある特定の間の日付の情報を for文、strtotimeを使って作成し、その解説をしています。
-
-
PHPで正規表現の検証には preg_match_allが便利
PHPで正規表現の検証には preg_match_allが便利です。その便利さの使い方の解説です。
-
-
PHPのソースで見慣れない記号が出てきた・アロー演算子(->)、ダブルアロー演算子(=>)
PHPのプログラムソースには見慣れない記号が出てきます。その意味や調べ方です。
-
-
include、requireのパス指定をdirname(__FILE__)、__DIR__と書く理由
include、requireのパスの指定を dirname(__FILE__)、__DIR__で記述する理由に付いて解説。相対パス、絶対パスを直書き、パスを書かない場合は何が問題かを説明。
-
-
PHP range関数を使って階乗と重複組み合わせを計算
PHPの range関数を使って階乗と重複組み合わせを計算し、それを元に乱数発生器を作成しました。
