EC-CUBE3.0.2をさくらインターネットにインストールしてみる。

まずはコントロールパネルにて、PHPのバージョンに注意(5.3.9以上でないと駄目)

ファイルをすべてアップロードして、/〇〇〇/html/にアクセスすると、「500 Internal Server Error」が出ます。

htaccessかなぁとか思いつつ、/〇〇〇/html/install.phpにアクセスしてみます。

Warning: date_default_timezone_get(): It is not safe to rely on the system’s timezone settings. You are *required* to use the date.timezone setting or(以下省略)

というエラーが出たので、まずこのエラーをやっつけます。

タイムゾーンが設定されてないエラーです。さくらインターネットでは、php.iniの設定をコントロールパネルからできます。

「PHP設定」から設定します。

phpini

date.timezone=”Asia/Tokyo”

を追加して保存。

再び、/〇〇〇/html/install.phpにアクセスするとインストール画面になります。

ひととおりインストールして、いざ管理画面にアクセスすると、「500 Internal Server Error」が出ます。ためしに.htaccessを削除してみます。

すると「Forbidden」。まぁ、アドレスの関係かぁということで、「/html/index.php/管理画面フォルダ/」でためすと、ログイン画面が表示されました。

EC-CUBE3をxamppでテスト。商品画像アップロード失敗

(2015.7.21追記)

下でうだうだ書いていたけど、
EC-CUBE3をインストールしてみよう(windows+xampp編)

にありました。

———————————————

EC-CUBEの3が公開されたので、ここ最近空き時間でちょっとずつテスト中です。

xampp(Windows 向け XAMPP 5.5.24 & 5.6.8)で環境を作ってそちらにアップロード。

まず最初に、ログインできない……。データベース見ると、設定時に入れた管理者IDの情報が登録されていない……。
仕方ないので、他の環境のデータベースから管理者情報ひっこぬいて、データベースに直接入れる。
auth_magicとsaltを合わせて、delt_flagを1、workを1にする、という荒業で乗り切った。

さて、商品登録をしてみようと思うと、「アップロードに失敗しました。」というエラーが出ます。

検索してみると
http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=16198&forum=11&post_id=71897#forumpost71897
のようにお困りの書き込み。こちらにあったコンテンツ管理>ファイル管理からのアップも、書き込みのように同じようにできます。
それはuser_dataフォルダにアップロードされました。
しかし、表示をクリックしても表示のエラー。ダウンロードもエラー。
また、「削除」をクリックしても無反応。この辺まで一緒。

結論

php.iniファイルの「;extension=php_fileinfo.dll」のコメントを外して、xamppの再起動で解決です。
しかし、コンテンツ管理>ファイル管理の「削除」は無反応。こちらはまた違う問題のような気がします。

 

結論までの足跡

sitelogを見ると

[2015-07-15 13:00:00] myapp.CRITICAL: LogicException: Unable to guess the mime type as no guessers are available (Did you enable the php_fileinfo extension?) (uncaught exception) at C:\xampp\htdocs\vendor\symfony\http-foundation\Symfony\Component\HttpFoundation\File\MimeType\MimeTypeGuesser.php line 127 {“exception”:”[object] (LogicException(code: 0): Unable to guess the mime type as no guessers are available (Did you enable the php_fileinfo extension?) at C:\\xampp\\htdocs\\vendor\\symfony\\http-foundation\\Symfony\\Component\\HttpFoundation\\File\\MimeType\\MimeTypeGuesser.php:127)”} []
[2015-07-15 13:00:00] myapp.INFO: < 500 [] []

EC-CUBE3で使ってるsymfonyのエラーみたい。

・Unable to guess the mime type as no guessers are available (Did you enable the php_fileinfo extension?)

・MimeTypeGuesser.php:127

あたりをヒントに、検索。

http://stackoverflow.com/questions/30405960/laravel-5-validating-mime-types

がヒットで、そちらを参考に対策させていただきました。感謝。