こんにちは,nitchanです。不具合かどうかは不明なのですが質問させてください。
ファイルをダウンロードできるページを設けようと,スキーマにて
<data name="attachlist" type="list" caption="ダウンロードファイル" >
<listitem caption="添付ファイルリスト">
<data name="attach" type="file" caption="ダウンロードファイル" maxfilesize="20MB"/>
<data name="filename" type="text" caption="ファイル名" output="text2" minlength="1" maxlength="100" />
</listitem>
</data>
と設定し,コンテンツマネージャーにてファイルのアップロードをしようとしたところ,
しばらくして
《現在の編集位置》
エントリルート
└ ダウンロードファイル
└ 添付ファイルリスト(1)
と,添付ファイルリストにファイルが追加されるのですがファイル本体がアップロードされていません。
軽いファイルだと問題なくアップされ,重いファイルが上記のような状態になります。
スキーマにて20MBの制限にして,アップしようとした重いファイルは13MBでした。
ちなみに当初は5MBでスキーマを設定し,要望を受け途中で20MBに変更しました。
すみませんがアドバイスをお願いいたします。
ファイルのアップロードについて
モデレータ: webmaster
Re: ファイルのアップロードについて
webmasterです。ご迷惑をおかけしております。
おそらく不具合と思われます。原因としては、サーバーにてアップロードファイルの
上限設定がされているにも関わらず、CMSD側でそれを検知しておらず、アップロード
失敗を「成功」と判断しているものと推測します。
詳しくはこれから調査しますが、もしよろしければ一度サーバのアップロードファイル
上限設定をご確認下さい。m(_ _)m
おそらく不具合と思われます。原因としては、サーバーにてアップロードファイルの
上限設定がされているにも関わらず、CMSD側でそれを検知しておらず、アップロード
失敗を「成功」と判断しているものと推測します。
詳しくはこれから調査しますが、もしよろしければ一度サーバのアップロードファイル
上限設定をご確認下さい。m(_ _)m
Re:ファイルのアップロードについて
webmaster様
こちらのサーバでのアップロード容量の上限を調べましたら、50MBでした。
従いまして,サーバの上限の問題ではないようです。
FTPソフトでのアップロードは従来から上限に問題なく,ブラウザからのアップロードに
別の上限が設定されているのかと思い,調べましたが50MBとのことでした。
途中で制限を変更したのは不具合とは関係ありませんでしょうか?
変更前の上限設定は5MB。変更後は20MB。
今般失敗したファイルのサイズは13MBです。
素人で根拠の無い推測ですが,参考までに。
よろしくお願いいたします。
こちらのサーバでのアップロード容量の上限を調べましたら、50MBでした。
従いまして,サーバの上限の問題ではないようです。
FTPソフトでのアップロードは従来から上限に問題なく,ブラウザからのアップロードに
別の上限が設定されているのかと思い,調べましたが50MBとのことでした。
途中で制限を変更したのは不具合とは関係ありませんでしょうか?
変更前の上限設定は5MB。変更後は20MB。
今般失敗したファイルのサイズは13MBです。
素人で根拠の無い推測ですが,参考までに。
よろしくお願いいたします。
Re:ファイルのアップロードについて
webmasterです。
実は、あれから調査しているのですが、こちらの環境でいろいろ試しても
同様の事象を再現させることができないでおります。
nitchanさんからの情報提供が大変助かります。
前回、「サーバーのアップロード上限」と書きましたが、よく考えれば不適切な表現
でした。申し訳ありません。
正しくは、以下の点をご確認いただけないでしょうか。
まず、内部に <?php phpinfo(); ?> とだけ記述した phpinfo.php ファイルを
作成し、サーバへアップロードして実行して下さい。
phpinfoというPHPの状態を表示する命令が実行され、結果が表示されます。
その中の、以下の項目の値をご確認下さい。
・upload_max_filesize … アップロードされるファイルの最大サイズ(単位:バイト)
・post_max_size … POSTデータに許可される最大サイズ(単位:バイト)
PHPのConfigure項目に「--enable-memory-limit」が含まれている場合には、
以下の項目もご確認頂ければ幸いです。
・memory_limit … スクリプトが確保できる最大メモリ数(単位:バイト)
PHPのスクリプトは、これらの設定によってアップロードファイルサイズを制限
されます。
もし分かり難い場合には、upload_max_filesizeの値だけでも構いませんので、
ご連絡頂ければ幸いです。
実は、あれから調査しているのですが、こちらの環境でいろいろ試しても
同様の事象を再現させることができないでおります。
nitchanさんからの情報提供が大変助かります。
前回、「サーバーのアップロード上限」と書きましたが、よく考えれば不適切な表現
でした。申し訳ありません。
正しくは、以下の点をご確認いただけないでしょうか。
まず、内部に <?php phpinfo(); ?> とだけ記述した phpinfo.php ファイルを
作成し、サーバへアップロードして実行して下さい。
phpinfoというPHPの状態を表示する命令が実行され、結果が表示されます。
その中の、以下の項目の値をご確認下さい。
・upload_max_filesize … アップロードされるファイルの最大サイズ(単位:バイト)
・post_max_size … POSTデータに許可される最大サイズ(単位:バイト)
PHPのConfigure項目に「--enable-memory-limit」が含まれている場合には、
以下の項目もご確認頂ければ幸いです。
・memory_limit … スクリプトが確保できる最大メモリ数(単位:バイト)
PHPのスクリプトは、これらの設定によってアップロードファイルサイズを制限
されます。
もし分かり難い場合には、upload_max_filesizeの値だけでも構いませんので、
ご連絡頂ければ幸いです。
Re:ファイルのアップロードについて
webmaster様
お手数おかけいたします。
phpinfo.phpを実行すると、LocalとMaster共に
upload_max_filesize…2M
post_max_size…8M
とありました。
これだと13MBは無理ですね。
Configure Command には--enable-memory-limitは含まれていませんでした。
以上です。よろしくお願いいたします。
お手数おかけいたします。
phpinfo.phpを実行すると、LocalとMaster共に
upload_max_filesize…2M
post_max_size…8M
とありました。
これだと13MBは無理ですね。
Configure Command には--enable-memory-limitは含まれていませんでした。
以上です。よろしくお願いいたします。
Re:ファイルのアップロードについて
webmasterです。
nitchanさん、ご報告ありがとうございます。
とりあえず、大きなファイルのアップロードができない理由はその設定かと思われます。
問題は、その設定でなぜ、一見正常に終了するのに実は失敗している・・・という
ことになるのかですが、この現象については引き続き調査致します。
ご迷惑をおかけしており申し訳ありません。
nitchanさんもお気づきの通り、現在のその設定ですと、CMSDの不具合が解消
されたとしても、「アップロードに失敗しました」というようになるだけで、アップロード
できるようになるわけでない為、サーバ管理者などに連絡して設定を変えてもらうか、
ご自分でphp.iniをいじれるのなら設定の変更をお試し頂ければ幸いです。m(_ _)m
ただ、現実的にはブラウザから数十メガバイトものファイルをアップロードするのは
一般的ではないと思います。
たとえサーバの設定でサイズ制限をとっぱらったとしても、おそらく処理途中で
HTTPコネクション(Webブラウザの通信経路)がタイムアウトしてしまうと思います。
大容量ファイルアップロードの際には、高速なサーバと、高速な回線をご用意した
上でご利用頂ければと思います。
nitchanさん、ご報告ありがとうございます。
とりあえず、大きなファイルのアップロードができない理由はその設定かと思われます。
問題は、その設定でなぜ、一見正常に終了するのに実は失敗している・・・という
ことになるのかですが、この現象については引き続き調査致します。
ご迷惑をおかけしており申し訳ありません。
nitchanさんもお気づきの通り、現在のその設定ですと、CMSDの不具合が解消
されたとしても、「アップロードに失敗しました」というようになるだけで、アップロード
できるようになるわけでない為、サーバ管理者などに連絡して設定を変えてもらうか、
ご自分でphp.iniをいじれるのなら設定の変更をお試し頂ければ幸いです。m(_ _)m
ただ、現実的にはブラウザから数十メガバイトものファイルをアップロードするのは
一般的ではないと思います。
たとえサーバの設定でサイズ制限をとっぱらったとしても、おそらく処理途中で
HTTPコネクション(Webブラウザの通信経路)がタイムアウトしてしまうと思います。
大容量ファイルアップロードの際には、高速なサーバと、高速な回線をご用意した
上でご利用頂ければと思います。