「EC-CUBE Advent Calendar 2021」21日目の投稿です。
Windows上でEC-CUBEを動かして開発するのは中々難しい。
技術的難易度というより「そもそも本番はLinux(Unix)」だったり「思ったよりパフォーマンスが出ない」ので開発中やリリース時に色々と問題が発生する。
知識がある方は仮想化した環境やリモート環境を使用すればよいのだが、開発者じゃなくて店舗運用する人が触ったりするのがEC-CUBEだ。
だからこそ、Windowsで「最低限触れる」の敷居は低い方が良いだろう。
ということでWindows環境で最新のEC-CUBE4.1をXAMPPできるだけ快適に動かしてみる。
XAMPP自体が久しぶりなので、XAMPP含め間違いありましたら指摘お願いします。
データベースにデータをINSERTする際にタイムアウトするケース。
店舗運用者の方がここで躓くケースは多い。
とはいえ、1回限りなので、PHPのタイムアウトを伸ばすことでデータベース生成を乗り切って欲しい。
(php.iniのmax_execution_timeを延ばすなどで対応できますので、詳しくは検索してみてください。)
XAMPPならコントロールパネルのApacheの行のConfigからphp.iniをサクッと起動できます。
もしくはPCの性能を上げる(結構、古いノートPCとかのケースがあるんですよね)。
Windows標準のウィルス対策ソフトウェア。
細かいファイルを生成するcacheなども頑張ってチェックしてくれる。ありがたいことだが、PCのスペックによってはこれが地味に痛いことがある。
ウィルス対策ソフトをオフにするのは乱暴なのでEC-CUBEをインストールしたフォルダーを開発中はチェックから除外するというのでどうでしょう?(自己責任でお願いします)
Windowsの設定画面の「更新とセキュリティ」から、
「ウィルスと驚異の防止」
「設定の管理」から
「除外の追加」で特定のフォルダー以下を除外することができます。
何度も言いますがセキュリティのリスクがあるので自己責任&開発中のみでお願いします。
EC-CUBE4(というかベースのsymfony )がWindowsで遅いのはキャッシュ周りが遅いということで、キャッシュ周りも確認してみた。
2回目のアクセスが逆に遅くなることが推測されるのと、あんまり早くなった気がしないが、環境次第ということもあるので一応残しておく。
Twigのキャッシュはprod設定ならvar\cache\prod\twigに生成される。
これをオフにするにはconfig\eccube\packages\prod以下にtwig.yamlを配置してあげればOK。
twig: cache: false
cacheファイルを削除して再度ページをリロードするとtwigフォルダーが生成されていないことがわかるだろう。
EC-CUBEの開発環境にという場合は、やはりDockerなどの使用をおすすめします。
触ってみたいだけなら、レンタルサーバーのいくつかにある簡単インストール機能でインストールして触るという手段もあります。