エス技研

WordPress、CakePHP、PHP、baserCMSなどの Web系システムを中心に情報を提供します!


ECCUBEを開発環境から本番ドメインに変更でエラーが・パス変更について

      2015/06/12

ECCUBE・公開しようとドメインを当てたらエラーが発生!

 

ECCUBEのエラーが出る状況と原因の概要解説

 
レンタルサーバを使って ECCUBEを構築し、本番公開する際にドメインを当てると下記のようなエラーが出て動かなくなってしまった、という場合の対処方法です。
 
20141201_php_01
 
 
上記の画像の値などは一部適当に加工してありますが、
「▼▼▼ デバッグ情報ここから ▼▼▼」
「▲▲▲ デバッグ情報ここまで ▲▲▲」
「システムエラーが発生しました。
大変お手数ですが、サイト管理者までご連絡ください。」
といった感じでエラーが表示されます。
 
 
原因は、共有サーバで設定していた場合のパスと、ドメインを当てた場合のパスの見え方が違ってくるためです。
 
 
より具体的な話としては、
 
開発中:レンタルサーバの割り当てドメインでの 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
 
 
【変更対応箇所】

 
 
変更点は、上記を見てもらうと分かると思いますが、下記の様に修正を行います。
 

 
 

ECCUBEのエラーを解消させた後

 
パスの設定を変更すると、もともとアクセスしていた URLではアクセスできなくなります。
 
——————-
Not Found
The requested URL /s-giken/html/ was not found on this server.
——————-
 
アクセスすると上記のような 404エラーのページが表示されるでしょう。
これは、パスが変わるためにいずれかを選択する必要があるわけですので、致し方がないことかと思います。
 
 

ECCUBEの環境をコピーする方法

 
今回の記事では、ドメインを当てて本番公開をする方法の解説でしたが、公開後、プログラムをメンテナンスする際などに必要になる開発環境の構築方法、ECCUBEの環境をコピーする方法については「ファイル変更だけ!ECCUBEの本番から開発環境をコピーする手順を解説」に記事を書きましたので、あわせて確認してください。

 - PHP・Smarty・ECCUBE

GoogleAdwords

GoogleAdwords

最後までお読みいただきましてありがとうございます。
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!

Message

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

下記の空欄を埋めてください。 * Time limit is exhausted. Please reload CAPTCHA.

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

※入力いただいたコメントは管理者の承認後に掲載されます。

  関連記事

PHPのデバッグで使う print_r、var_dump、var_exportの動作の違い
PHPのデバッグで使う print_r、var_dump、var_exportの動作の違い

PHPのデバッグ等で変数や配列の中身を確認するために使用する関数print_r、var_dump、var_exportの動作の違い、仕様の違いについて確認した。var_exportがオススメ。

PHPでスクレイピング。phpQueryとphp-simple-html-dom-parserの比較と設置方法
PHPでスクレイピング。phpQueryとphp-simple-html-dom-parserの比較と設置方法

「PHP スクレイピング」で検索すると「phpQuery」ばかりヒットするが、10年以上も放置されている。なので今も開発が続いている「PHP Simple HTML DOM Parser」をオススメする。

cURLを利用する際の注意点「&」があるURLは「"」で囲む
cURLを利用する際の注意点「&」があるURLは「」で囲む

cURLでURLはダブルクォーテーションで囲む。LinuxでもWindowsでもコマンドでは「&」は意味を持つ文字のためエラー原因になる。クォーテーションは常につけておく方が無難。

乱数発生器(パスワード生成サービス)がバージョンアップで高速化!
乱数発生器(パスワード生成サービス)がバージョンアップで高速化!

乱数やパスワードを生成する乱数発生器を高速化!重複しない10桁、20桁の文字列を10万件、20万件と生成することも可能!イベントのキャンペーンのシリアルコードなどにも利用可能!

ECCUBEのポイント設定、ポイント付与率を一括で変更する方法解説

ECCUBEの商品個別に設定してあるポイントを一括で変更する方法を解説。ECCUBEには商品個別のポイントを一括して変更する機能がありません。SQLを作成して一括置換!

PHPのソースで見慣れない記号が出てきた・アロー演算子(->)、ダブルアロー演算子(=>)

PHPのプログラムソースには見慣れない記号が出てきます。その意味や調べ方です。

指定した数で文字列を丸める関数substr、mb_substr、mb_strimwidthの違い
指定した数で文字列を丸める(n文字目で…にする)関数substr、mb_substr、mb_strimwidthの違い

文字列を指定された数で抜き出すPHPの関数、substr、mb_substr、mb_strimwidthについての解説。似た関数だが引数の指定方法が違ったり、文字数がバイト数か文字数かも違ったり、注意が必要だ。

PHPのcURLでAPIやWebサイトへのアクセス方法。file_get_contentsとの比較
PHPのcURLでAPIやWebサイトへのアクセス方法。file_get_contentsとの比較

PHPからWebサイトにアクセスしてHTMLを取得、APIにアクセスして情報を取得する場合は、cURLがオススメ。file_get_contentsでも可能だがエラー制御に難がありトラブルのもとになる。

Smartyの修飾子regex_replaceで正規表現の後方参照・PHPではpreg_replace

ECCUBEで使われているSmartyで文字列を正規表現で置換し後方参照で値を利用する装飾子regex_replaceの解説です。細かな条件がありますので注意が必要です。

WindowsのXAMPPのPHPではstrptimeは使用不可。代替はdate_parse_from_formatを使う
WindowsのXAMPPのPHPではstrptimeは使用不可。代替はdate_parse_from_formatを使う

strptimeはWindowsのPHPには未実装。LinuxとMacで挙動が異なる。PHP8.1で非推奨になる。なので日付のチェックはdate_parse_from_formatを使おう。使い方を詳細解説。