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
【変更対応箇所】
1 2 3 4 5 6 7 8 9 10 11 |
<?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', '/'); : : : |
変更点は、上記を見てもらうと分かると思いますが、下記の様に修正を行います。
1 2 3 4 5 6 7 8 |
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の本番から開発環境をコピーする手順を解説」に記事を書きましたので、あわせて確認してください。
GoogleAdwords
GoogleAdwords
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!
関連記事
-
-
QRコード(二次元バーコード)作成サービスを公開
QRコード(二次元バーコード)を生成するサービス。QRコードにする文字列を入力するだけで QRコードが簡単に作れる。オプションとして、画像サイズ、余白サイズ、エラー訂正レベルがある。
-
-
路線・駅検索のために緯度経度からPHPで2点間の距離を計算する処理解説
路線・駅検索の仕組みの構築は大変。それを簡易に実装するために緯度経度を元に距離計算をする仕組みを考案。まずは2点間の距離を計算する仕組みを解説し、距離計算にまつわる関連技術も紹介。
-
-
PHPパーミッション変更のchmod関数・モードを変数で指定する方法
パーミッション変更関数であるchmod関数の第二引数、ファイルモードの指定に変数を使う場合は8進数に変換するoctdec関数を使って変換します。
-
-
連想配列のキーも値もまとめてhtmlspecialchars()でサニタイズする関数の作成解説
PHPの配列・連想配列のキーと値をまとめてhtmlspecialchars()関数でサニタイズ(無害化、無毒化)を行う関数を作成。連想配列のキーはarray_map()関数でのサニタイズは無理。
-
-
Smartyの修飾子regex_replaceで正規表現の後方参照・PHPではpreg_replace
ECCUBEで使われているSmartyで文字列を正規表現で置換し後方参照で値を利用する装飾子regex_replaceの解説です。細かな条件がありますので注意が必要です。
-
-
数値文字参照コード変換ツール(HTML特殊文字コード変換ツール)
テキストを数値文字参照コード(特殊文字コード)に変換するツール。テキストを数値文字参照コードに簡単変換。数値文字参照、文字実体参照、特殊文字などの違いも解説。
-
-
サーバ移転、PHPバージョンアップでPHPのソースコードが表示される・ショートタグのPHPが動かない
PHPでショートタグを使うのは危険。サーバ移転やバージョンアップで動かなくなる!ソースが丸見え、設定情報流出のリスクが!php.iniのshort_open_tagの設定を再確認。
-
-
PHPのcURLでAPIやWebサイトへのアクセス方法。file_get_contentsとの比較
PHPからWebサイトにアクセスしてHTMLを取得、APIにアクセスして情報を取得する場合は、cURLがオススメ。file_get_contentsでも可能だがエラー制御に難がありトラブルのもとになる。
-
-
ECCUBEのポイント設定、ポイント付与率を一括で変更する方法解説
ECCUBEの商品個別に設定してあるポイントを一括で変更する方法を解説。ECCUBEには商品個別のポイントを一括して変更する機能がありません。SQLを作成して一括置換!
-
-
AdminerはphpMyAdmin代替のデータベース管理ツール
AdminerはphpMyAdminとほぼ同機能のデータベース管理ツール。PHP 1ファイルのため設置が非常に簡単で軽快に動作し、phpMyAdminの置き換えで使うのも問題なし。