見出し画像

MAMPでEC-Cube 4.3が動かないとき

はじめに

MAMPを使って、EC-Cube 4.3での開発をしようとしたときに、最初の画面でエラーが出てつまずいた

エラーメッセージはこれ
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator at you@example.com to inform them of the time this error occurred, and the actions you performed just before this error.
More information about this error may be available in the server error log.

何?? で、ためしに、前に4.1から作っていたサイトは問題なく表示される。
どういうこと??
初期画面だけの問題かも??

この問題、最近のMAMPのバージョンアップで解決した可能性があるので、まずは、バージョンアップ
最新バージョンは2024年10月1日 現在 7.0.7 です。 

1.さて、エラー解析

MAMPのApacheのログを見ると
FastCGI: incomplete headers (0 bytes) received from server
というエラーメッセージ
Apacheのログは、
/Applications/MAMP/logs/apache_error.log
です。
MAMPのlogsには、他にmysql_error.log, php_error.log
があります。
で、本題、
これはなに? ここから長い戦いが

2.いろいろな原因

さて、ネットを検索すると、ありがちなパターンとして、
1. permissionの問題
とのことで、ルートのpermissionを前例にならって、757へ変更
結果は同じエラーが表示されてしまい、うまくいきません。
同様に、Index.php など、いろいろ比較して調べたが、permissionの問題ではなさそう
これは、Internal server error 500の時には有効だと思います。
2. .htaccess 、Index.php か?
前の物と比べてみたがどうも、これも問題はなさそう
理由は、いま動いているソースと、4.2.x 、4.3をを比べて、問題はなさそう
3.FastCGIのタイムアウトが原因
という言う情報がInternetを見ると多いので、
ためしに、タイムアウトを伸ばしてみたが、解決しない。

4.次に、ネットで調べて見つけたのが、

見ると、つまりFastCGIを止めて、他の方法で動かして、Timeoutを長くしてみている様子

3.解決では無いけれど、初期画面の表示できた

httpd.confから一部をコメントアウトでFastCGIを止める方法だけで、やってみました。
ということで、MAMPのhttpd.confを修正
修正の方法は、MAMPのメニューバーから
File -> Open Template -> Apache -> httpd.conf
とたどって、httpd.conf をMAMPのエディタで開きます。

そのなかの
MAMP_FastCgiServer_MAMP
を探して、コメントアウト ちなみに、エディタ内での検索は Command + f キーで開きます。
保存して、MAMP Serverを再起動
EC-Cubeの初期画面へアクセスしてみると、表示されました。
その後、EC-Cubeの初期設定を進めて、完了
Apacheのログを見ると noticeやalertがでたりしていました。

初期設定が完了出来たので、先程、httpd.conf の中でコメントアウトした行を戻して、アクセスして見ると問題は無い様子
Apacheのログにもエラーメッセージ、notice等も無く動いているので完了

本来の解決はきちんとEC-Cubeのソースでエラーを出す場所を探すのがよいのでしょうが、EC-Cubeのユーザーとしては初期設定だけソースコードを弄っても仕方無いので、この件はこれで終了。

この時のEC-Cubeのバージョンは EC-Cube 4.3  です。
同じような問題で、困った時の参考になればと幸いです。


いいなと思ったら応援しよう!

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