インストール成功したのにいきなりシステムエラー
以下のように、ルートディレクトリに「ec-cube」というフォルダを作成し、そこにEC-CUBEをアップロードしました。ちなみにレンタルサーバーは Mixhost
です。
https://example.com/ec-cube/
ここにアクセスして「ようこそ」の画面に従い、EC-CUBE 4.1.1 のインストールを行いました。「インストールが完了しました!」と表示されたので、インストール成功したと思ったのですが、「管理画面を表示」をクリックすると「システムエラーが発生しました。」と表示され、管理画面とショップページのどちらもエラー表示となりました。

原因と対処
結論から言うと、キャッシュを削除して、EC-CUBEの再インストールで解決できました。
レンタルサーバーが Mixhost
だからダメなのか?!と思いましたが勘違いでした。
キャッシュが残っているのが原因?
以下のページにあったcacheフォルダを空にする方法を試してみました。
https://example.com/ec-cube/var/cache
これはダメでした。
パーミッションは?
以下のページを参考に確認しましたが、755とか644で書き込み権限もあり問題ありませんでした。
そもそもデータベースに接続できている?
以下のPHPのソースでMySQLに接続できるか接続テストしてみましたが、正常に接続できることが確認できました。EC-CUBEのインストール時にDBに接続できないとインストールもできないので当たり前ですが、念のため調べてみました。
// defineの値は環境によって変えてください。
define( 'HOSTNAME', 'localhost' );
define( 'DATABASE', '' );
define( 'USERNAME', '' );
define( 'PASSWORD', '' );
try {
/// DB接続を試みる
$db = new PDO( 'mysql:host=' . HOSTNAME . ';dbname=' . DATABASE, USERNAME, PASSWORD );
$msg = "MySQL への接続確認が取れました。";
} catch ( PDOException $e ) {
$isConnect = false;
$msg = "MySQL への接続に失敗しました。<br>(" . $e->getMessage() . ")";
}
?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>>MySQL接続確認</title>
</head>
<body>
<h1>MySQL接続確認</h1>
<p><?php echo $msg; ?></p>
</body>
</html>
システム要件が合っているか確認
<?php echo phpinfo(); ?>で確認できるWEBサーバのバージョンとEC-CUBEのシステム要件を照らして合わせてみました。
- EC-CUBEのバージョン:4.1.1
- PHPバージョン:7.4.27
各バージョンやライブラリも問題ありませんでした。
PHPのバージョンを変更してみる
WEBサーバのPHPのバージョンを 7.4 から変更してみました。 7.2 ではバージョンが低いというエラーが出ました。7.3 、8.0 に変更してみましたが、相変わらず「システムエラーが発生しました。」と表示されました。
ちなみにEC-CUBE4.1系ではPHP8対応は実施しないとのこと。
ログを確認してみる
ログは以下の階層にありますが、見てもまったくわかりませんでした。
https://example.com/ec-cube/var/log
以下のようなSymfonyに関するエラーログがたくさんありましたが、これは最終的には関係ありませんでした。
[Symfony\Component\ErrorHandler\ErrorHandler:handleError:532]
DEBUGモードを試す
以下のページを参考に、.envファイルを編集してデバッグモードを試しましたが500エラーとなりました。
EC-CUBEを再インストールしてみる
.envファイルを削除して、以下のEC-CUBEのディレクトリにアクセスすると、「ようこそ」の画面が表示されたので、もう一度インストール作業を行ってみました。
データベースはウィザード上に表示される初期化の画面で初期化するようにしました。

すると、初回インストール時には出なかったプラグインの有効・無効スイッチが表示されました。
そのまま画面に従って作業を続けて行くと、無事にログイン画面が表示され、管理画面に入ることができました。

また、ショップページも表示されるようになりました。

レンタルサーバーが Mixhost
でもEC-CUBE4が動きました。
まとめ
初回のインストールに失敗したら、以下を試すと解決できるかもしれません。
- キャッシュフォルダ内の削除
- EC-CUBEを再インストール