EC-CUBEの購入画面で、都道府県を選択するセレクトボックスが壊れてしまい、購入できない状態になってしまったときの解決方法を紹介していきたいと思います。
調査したところEC-CUBE3で同じような症状が起こっているようです。
今回、使用しているバージョンは、EC-CUBE3.0.13です。
症状の確認
まず、購入画面の都道府県のセレクトボックスが壊れているとのことでしたが、サイト内のセレクトボックス全て、中身がずらーーと並んでうまく表示できていませんでした。
![](https://toriton.link/wp-content/uploads/2022/10/eccube_selectbox_01-942x1024.jpg)
ソースを確認してみると・・
<select>タグが、<selectid>となってしまい、selectとidの間のスペースが入っていない状態でした。
![](https://toriton.link/wp-content/uploads/2022/10/eccube_selectbox_02-1024x509.jpg)
また、管理画面でも不具合があり、下記のようにメニューのアイコンが大きく表示されていました。
![](https://toriton.link/wp-content/uploads/2022/10/eccube_selectbox_03.jpg)
解決方法
解決方法は、『PHPのバージョンを7.2に下げる』です。
EC-CUBE3.0の開発ドキュメントを見てみると、動作確認済みは7.1.2までのようです。
![](https://toriton.link/wp-content/uploads/2022/10/eccube_selectbox_04.jpg)
今回は、PHPのバージョンを下げることで無事に解決できました!
その他、確認したこと①
該当のソースファイルの記述を確認してみました。
www/src/Eccube/Resource/template/default/Shopping/shipping_edit.twig
www/src/Eccube/Resource/template/default/Shopping/nonmember.twig
購入画面のフォーム箇所は、{{ form_label(form.type) }}というタグで出力されており、直接ソースを編集することはできませんでした。
![](https://toriton.link/wp-content/uploads/2022/10/eccube_selectbox_05-1024x371.jpg)
その他、確認したこと②
下記PHPファイルを修正すれば解決できるとの情報を見て試してみましたが、解決できませんでした^^;
www/vendor/twig/twig/lib/Twig/Lexer.php
PHPのバージョン設定
今回は、Xserverでの設定方法を紹介します。
サーバー会社によって設定方法は異なりますので、Xserver以外のレンタルサーバーをお使いの方は、
『〇〇サーバー PHPのバージョン設定』で検索してみてください!
①Xserverのサーバーパネルにログインします。
②PHPの「PHP ver.切替」→該当のドメインを選択します。
![](https://toriton.link/wp-content/uploads/2022/10/eccube_selectbox_06-1024x540.jpg)
③推奨となっていますが、PHP7.2に変更します。
![](https://toriton.link/wp-content/uploads/2022/10/eccube_selectbox_07-1024x452.jpg)
④PHPバージョンを下げた状態でサイトがちゃんと表示できているか確認して、問題なければ完了です!
まとめ
![](https://toriton.link/wp-content/uploads/2020/11/matome_01.png)
基幹システムの更新やPHPバージョンなどいろいろと考えられるので、
ECサイトは販売できる状態になっているか、定期的にチェックする必要がありそうですね。
試してみたけどできなかった・・
不安なので代行してほしい・・
などのご相談・ご依頼は、TwitterのDMかお問い合わせフォームよりお気軽にご連絡ください^^
![](https://toriton.link/wp-content/uploads/2020/09/ta_01.png)
ぜひやってみてください〜
![](https://toriton.link/wp-content/uploads/2020/09/ka_01.png)
最後まで読んでいただきありがとうございました!