EC-Cube 4.2.1 での開発をMAMPを使って行う

0. 始めに

1.EC-Cubeの開発を行う際に本番サーバーで行うわけにはいかない。
2.ローカル環境に本番サーバーと同じ環境を構築したい。
3.ローカル環境で開発を行い、動作テストなどを行って、本番サーバーに実行環境を移すことで、本番サーバーは最低限の変更で済む。
上記の実現のため、ローカルサーバーにMAMPやXAMPを使うことが候補になる。
MAMPやXAMPはPHPとSQLサーバーをローカル環境で手軽に構築が可能。
この使用環境はMacOS Venture (Version 13.4)

1. 準備

1.1 MAMPのダウンロードと準備

MAMPをMAMPのHP(リンク)に行き、ダウンロードする。
MAMPはPRO版を使っている。

1.2 MAMPをインストール

MAMPのインストーラをダブルクリックしてインストールする。

1.3 EC-Cube 4.2.1をダウンロード

EC-CUBE 4.2.1をEC−CUBEのHPへ行き(このリンク)からダウンロードする。
ダウンロードにはEC-CUBEメンバー登録が必要

2. EC-CUBEのインストールと動作確認

2.1 EC-CUBEを解凍

インストールしたいディレクトリにZipファイルを移動させ、そこで解凍する。
ここでは、/User/(User名)/Sites に移動し、そこで解凍する。
解凍すると、ec-cubeというディレクトリが出来る。
必要によって、このディレクトリ名をShop等に変更する(ここではShopとする)
注 : Zipファイルのまま、移動させること。MacやWindowsは Dotファイル( .(ピリオド)で始まるファイル)をデフォルトでは見ることが出来ないので、解凍してから移動するとこれらのファイルが確実に移動されるとは限らない。
Dotファイル(例 .env)には重要な設定の情報が書かれているので、ディレクトリから消えると問題が起きる。

2.2 MAMPの設定

2.2.1 MAMPを起動して、サイドバーの【Hosts】をクリックして、タブの【General】をクリック、
2.2.2 表示されている 右ペインの中央付近 Document root 横の【choose…】をクリックして、表示されたウィンドウで ec-cubeを解凍して、名前を変えたディレクトリを選択
ここでは、/User/(User名)/Sites/Shop を選択して 【open】をクリック、
Document rootに User>(User名)>Sites>Shop
と表示されればOK

2.3 サーバーの起動

MAMP右上のStart アイコンをクリックして、サーバーを起動する

2.4 MySQLの設定

2.4.1.SQLサーバー起動確認
サーバーを起動したら、左ペインの MySQLにチェックが入っていて、右にOnが表示されている事を確認
2.4.2   MAPMサーバーへ接続
MAMPのウィンドウ 右上にある飛行機のアイコン【Web Start】をクリック。 Web Browser (MacのデフォルトならSafari)が開き、Welcom MAMPというページが表示される
2.4.3 MySQL のデータベースを作成
表示されたページの中央付近 【MySQL】をクリック
You can administer your MySQL databases with . 【phpMyAdmin】
をクリック。phpMyAdmin ページが開く
データベースタブを選択して、【データベースを作成】の下の枠に新しいデータベースの名前を入れて、文字コードを確認 
【作成】ボタンを押して、新しいデータベースを作る
このデータベースの名前は後のEC-CUBEの設定で使う

2.5 ブラウザで接続してインストールを終了する

2.5.1 EC-CUBEのインストール
ブラウザを立ち上げ、 http://localhost:8888 に接続
後は、指示に従って進めればOK
2.5.2  データベースの設定
途中、データベースの設定を聞かれる。
デフォルトのままなら
データベースのホスト名 -> localhost
データベースのポート番号 -> 8889 
データベース名 -> mySQL の設定のところで作った名前
ユーザー名 -> root
パスワード -> root

3. 補足

MAMPでEC-Cubeの開発を行っている時に気を付けるべき事

MacでMAMPを利用してEC-Cubeの開発を行っている時にターミナルで見えるPHPのバージョンに注意
これが、MAMPのPHPを利用していないと、Entityによるデータベースの拡張などの際に、Errorになる。

ターミナルはzshを利用
この時に、EC-CubeでEntityを作ろうとするとErrorがでるので、調べて見るとPHPのバージョンが元のMacの物になっている事が原因の様でした。

PHPのバージョン確認

1) 現在、ターミナルから見えているPHPのバージョンを確認
% which php
/Applications/MAMP/bin/php/php8.2.0/bin/php
になっていればOK
MAMPのインストールの時期等によって、表示が変わるかも
php: aliased to /Applications/MAMP/bin/php/php8.2.0/bin/php -c "/Library/Application Support/appsolute/MAMP PRO/conf/php8.2.0.ini"
いつの間にかAliasを作るように変更されている?

バージョンを設定

2) MAMPで利用しているバージョンに揃えるために、MAPMのPHPに対してPathを通す。
3) vi 等のEditerで ~/.zshrc 開き、以下を追加する
export PATH=/Applications/MAMP/bin/php/php8.2.0/bin:$PATH

確認

4) この後、source ~/.zshrcで、Shellの設定を読み込み
% php -v
で、確認
PHP 8.2.0 
の表示になっていればOK
もし、なっていないときは、一旦ターミナルを再起動して確認

解決に辺り、以下のリンクを参考にしました。


よろしければサポートをお願いします。 今後の活動の励みになります。