エス技研

WordPress、CakePHP、PHP、baserCMSなどの Web系システムを中心に情報を提供します!


ECCUBEでアップロードできない。upload_max_filesizeを設定する場所

      2017/03/10

ECCUBEでテンプレートファイルがアップロードできない場合の対処方法

 

ECCUBEで「テンプレートファイルがアップロードされていません」のエラーが出た

 
この記事は、ECCUBEでテンプレートファイルをアップロードしようとして、うまくアップロードできない不具合の対処方法の解説記事です。
 
より具体的には、ECCUBEでテンプレートファイルをアップロードしようとしたところ、ファイルの容量が原因でエラーが出た、という場合の対処方法です。
 
20141127_php_01
 
ECCUBEでテンプレートファイルをアップロードしようとしたところ、「※ テンプレートファイルがアップロードされていません。」と表示されます。
ファイルを選択しても表示されます。
 
「※ テンプレートファイルがアップロードされていません。」と表示されますが、これはファイルの容量が大きくてアップロードできないことで起こるエラーです。
 
 
これは ECCUBEのプログラムの中でファイルの容量制限に引っかかっているわけではなく、PHPの設定側でファイルの容量制限に引っかかっているため、そのエラーの処理をうまく ECCUBE側で受け取れていないため、アップロードされたファイルの情報を受け取ることができず、「テンプレートファイルがアップロードされていません。」というエラーとなっているエラーメッセージなのです。
 
 


 

ECCUBEのファイルアップロード容量を拡張させる

 
エラーの原因は、ファイルのアップロード容量制限より大きなファイルをアップロードしようとしていることです。
 
そのため、対応としては、ファイルのアップロードファイルサイズの制限を拡張させる設定を行います。
 
1.ECCUBEの設定を変更する
2.php.iniの設定を変更する
 
 

ECCUBEの設定を変更する(.htaccess)

 
ECCUBEをインストールすると、.htaccessがせってされ、それによってファイルのアップロードできるファイルのサイズ制限が設定されます。
 
「システム設定」-「システム情報」で表示される phpinfo()の情報を見ると、下記の様になっています。
 
20141127_php_02
 
右側の「Master Value(php.ini)」の設定は 64MBであるものの、左側の「Local Value(ECCUBE)」の設定は 5MBになっていることが分かります。
 
これを「Master Value(php.ini)」と同じ 64MBに合わせることで解決します。
ここでは、php.iniの設定が 64MBですのでそれに合わせていますが、いくつに設定しても問題ありません。.htaccessで設定した値は、php.iniで設定した値より優先して反映されますので、php.iniの値にこだわる必要は全くなく、それ以上の数値でも全く問題ありません。
 
 
具体的に設定する値は、ECCUBE内の 「/html/.htaccess」にあります。
 
下記のような記述になっていますので「5M」の部分を「64MB」などに修正するといいでしょう。
 

 
修正して保存すればOKです。先ほどの「システム設定」-「システム情報」で表示される phpinfo()の情報ページをリロードすると設定情報が反映されていることが分かると思います。
 
 
続けて、「※ テンプレートファイルのファイルサイズは10MB以下のものを使用してください。」のエラーが出る場合は、「ECCUBEでテンプレートファイルのファイルサイズは10MB以下のものを使用してくださいのエラーが出た場合」に続きの記事を書きましたので参考にしてください。
 
 

php.iniの設定を行う

 
一般的にファイルのアップロードファイルサイズの制限を拡張させる場合は、php.iniの設定を行います。
 
ECCUBEでは、上記で説明したように .htaccessで設定を行います。
.htaccessで設定した情報は、php.iniで設定した情報より優先して反映されますので、ここで説明する php.iniの設定をしても反映されませんが、一般的にはこういう設定を行います、という説明をしておきます。
 

 
サーバにおいてある php.iniファイルを探して、上記の「memory_limit」「post_max_size」「upload_max_filesize」の場所を検索して設定を確認します。
 
それぞれの項目は下記のような意味になります。
 
memory_limit
PHPで利用できるメモリ使用量の上限を設定します。
 
post_max_size
一度に POSTできる最大のサイズを設定します。
ここでは複数のファイルを送信する場合などは全部まとめて 1回での POSTの最大値を設定します。
 
upload_max_filesize
1ファイル当たりの最大ファイルサイズを設定します。
 
また、php.iniのおいてある場所はサーバの設定によって違いますので、分からない場合はサーバ会社などにご確認ください。
また、レンタルサーバの場合は、管理画面(コントロールパネル)から更新できるようになっているサーバもあります。

 - PHP・Smarty・ECCUBE

GoogleAdwords

GoogleAdwords

最後までお読みいただきましてありがとうございます。
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!

Message

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

下記の空欄を埋めてください。 * Time limit is exhausted. Please reload CAPTCHA.

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

※入力いただいたコメントは管理者の承認後に掲載されます。

  関連記事

ECCUBEのポイント設定、ポイント付与率を一括で変更する方法解説

ECCUBEの商品個別に設定してあるポイントを一括で変更する方法を解説。ECCUBEには商品個別のポイントを一括して変更する機能がありません。SQLを作成して一括置換!

SEO対策用タイトル、ディスクリプションの文字数カウントツール

SEO対策に使える文字数カウントツールで文字数の条件の説明も行っています。

QRコード(二次元バーコード)作成サービスを公開
QRコード(二次元バーコード)作成サービスを公開

QRコード(二次元バーコード)を生成するサービス。QRコードにする文字列を入力するだけで QRコードが簡単に作れる。オプションとして、画像サイズ、余白サイズ、エラー訂正レベルがある。

ファイル変更だけ!ECCUBEの本番から開発環境をコピーする手順を解説

ECCUBEを本番から開発環境をコピーする際の手順を解説。PGMメンテに必要な開発環境を構築する手順を解説。ECCUBEの仕組みは簡単なので作業は5分ほど。

路線・駅検索のために緯度経度からPHPで簡易的に距離を計算する処理解説
路線・駅検索のために緯度経度からPHPで2点間の距離を計算する処理解説

路線・駅検索の仕組みの構築は大変。それを簡易に実装するために緯度経度を元に距離計算をする仕組みを考案。まずは2点間の距離を計算する仕組みを解説し、距離計算にまつわる関連技術も紹介。

数値がMySQLのint(11)に保存できない!PHPの変数が本当にint型か確認!
数値がMySQLのint(11)に保存できない!PHPの変数が本当にint型か確認!

PHPでintegerとdoubleが混在するような計算をする場合は要注意!計算結果が整数値であっても途中で使用する変数にdoubleの値が入っているときは計算結果がintegerではない場合があります。

PHPで特定の日間の日付を for、strtotimeで表示する

ある特定の間の日付の情報を for文、strtotimeを使って作成し、その解説をしています。

ECCUBEを開発環境から本番ドメインに変更でエラーが・パス変更について

レンタルサーバでサーバ会社から割り当てられたURLで開発し、本番公開時にドメインを当てたらエラーが!そんな場合の対処方法の解説。対処方法は簡単ですが管理画面からは対応不可。

複数銘柄を指定して株価チャートを一覧するツール公開

入力銘柄の5日間、3か月間、6か月間、1年間、2年間の株価チャートを一覧表示しますのでチャートで売買判断をするのに最適です。

ECCUBEの管理画面のSSL設定をインストール後に変更する方法

ECCUBEをインストールした後から管理画面のSSL設定を変更する方法を解説します。config.phpファイルのHTTPS_URLとADMIN_FORCE_SSLの値を変更すればOK。