256Mを超えるファイルをアップロードできない

2018年5月17日 at 16:44

みなさま

256Mを超えるファイルをアップロードしようと試みますが、
添付のように「Max filesize:256MiB.」となりアップロードできません。

PHPのパラメータは修正してみたのですが、状況は変わらないようです。

これは、concrete5上の制限になるのでしょうか?

[環境情報]
# concrete5 Version
Core Version - 8.3.2
Version Installed - 8.3.2
Database Version - 20180122213656

# concrete5 Packages
Event Calendar (3.4.1), Quick Tabs (1.0), Stucco (2.1.3), Stylish Ordered Lists (1.0)

# concrete5 Cache Settings
Block Cache - Off
Overrides Cache - Off
Full Page Caching - Off
Full Page Cache Lifetime - Every 6 hours (default setting).

# Server Software
Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/5.6.36

# Server API
apache2handler

# PHP Version
5.6.36

# PHP Extensions
apache2handler, bz2, calendar, Core, ctype, curl, date, dom, ereg, exif, fileinfo, filter, ftp, gd, gettext, hash, iconv, json, libxml, mbstring, mhash, mysql, mysqli, mysqlnd, openssl, pcre, PDO, pdo_mysql, pdo_sqlite, Phar, posix, Reflection, session, shmop, SimpleXML, sockets, SPL, sqlite3, standard, sysvmsg, sysvsem, sysvshm, tokenizer, wddx, xml, xmlreader, xmlwriter, xsl, zip, zlib

# PHP Settings
max_execution_time - 600
log_errors_max_len - 1024
max_file_uploads - 20
max_input_nesting_level - 64
max_input_time - 60
max_input_vars - 1000
memory_limit - 512M
post_max_size - 300M
sql.safe_mode - Off
upload_max_filesize - 300M
mysql.max_links - Unlimited
mysql.max_persistent - Unlimited
mysqli.max_links - Unlimited
mysqli.max_persistent - Unlimited
pcre.backtrack_limit - 1000000
pcre.recursion_limit - 100000
session.cache_limiter - no value
session.gc_maxlifetime - 7200

タグ:

Re: 256Mを超えるファイルをアップロードできない

2018年5月17日 at 16:58
お世話になります。

ファイルマネージャーのドラッグ & ドロップでアップロードをされようとしているのでしょうか?

それであれば、DropZone という Javascript ライブラリ自体の容量制限があります。
そこのJavascript ライブラリの設定をデフォルト値から変える必要があります。

/concrete/js/dropzone.js

/application/js/dropzone.js
にコピーします。

「maxFilesize:256」と、256MB に制限している設定があります。
テキスト検索で見つけて下さい。
そこを 1024 など 1GB などに変更します。

Minify している JS ファイルなので、編集するのが大変かもです。
その場合は 「Tidy」して、テキスト検索したほうが良いかもです。



容量の大きいファイルは
/application/files/incoming
フォルダに SFTP などでアップロードし取り込むのが良いです、
 

Re: 256Mを超えるファイルをアップロードできない

2018年5月17日 at 23:06
Katzさん

ご回答ありがとうございます。
はい。ドラッグ&ドロップでの事象になります。
javascriptでの制限があったんですね。

/application/js/dropzone.js
にコピーしたんですが、反応がない感じで、うまく動作しませんでした。

読み込んでいるjavascriptのパスを見ると、
/updates/concrete5-8.3.2/concrete/js/
のようで、このディレクトリ内dropzone.jsのmaxFilesizeを修正したところ
制限が外れました!

この動作の違いはなぜでしょうか?
 

Re: 256Mを超えるファイルをアップロードできない

2018年5月18日 at 8:55
確認ありがとうございます!

動作の違い・・・おそらくバグだと思います。
本来なら /application/js/ 内のファイルが適用されるべきなので・・・。

updates フォルダを使ったアップグレードをすると、
オーバーライドが効かなくなってしまうバグがあるかもしれません。

取り急ぎ、私の方で動作確認は出来ていないのですが、
GitHub に動作報告しました。
http://github.com/concrete5/concrete5/issues/6656

一旦、解決してよかったです。
ただ、今の方法だと、アップデートをすれば再び書き換えが必要なので気をつけてくださいませ。
 

Re: 256Mを超えるファイルをアップロードできない

2018年5月28日 at 12:35
返信ありがとうございます。
確認が遅くなってしまい申し訳ありません。

いろいろとありがとうございます!
とりあえずはアップデートの際、再修正で逃げます。

ありがとうございました。
 

Re: 256Mを超えるファイルをアップロードできない

2018年5月28日 at 12:39
natake さん。

お世話になります。

GitHub では、バグは認定されませんでした。
もしも差し支えなければ、もう一度、

/application/js/dropzone.js
で読み込まれていないか、キャッシュのクリアなどで確認いただけませんでしょうか。
 

Re: 256Mを超えるファイルをアップロードできない

2018年5月28日 at 19:15
Katzさん

ありがとうございます。
試してみました。

/application/js/dropzone.jsに配置すると、256Mのエラーは出なくなるのですが、
画像のように応答がなくなってしまう状態です。

ソースをみてみると、/application/js/dropzone.jsは読んでいないようです。

使っているテーマがStuccoなのですが、使うテーマによって影響あったりしますでしょうか?
添付: dropzone.png
 

Re: 256Mを超えるファイルをアップロードできない

2018年5月28日 at 21:37
そもそもですが、update ディレクトリを使われているのであれば、

Dropzone.js は、
/updates/concrete5-8.3.2/concrete/js/dropzone.js
のものを編集して
/application/js/dropzone.js
にアップして上げる必要があります。

そうされていますか?

/concrete/js/dropzone.js は古いバージョンの JS なので、それで動作不良をだしているかもです。
 

Re: 256Mを超えるファイルをアップロードできない

2018年5月29日 at 10:49
Katzさんのおっしゃる通りでした!

/concrete/js/dropzone.js
をコピーして編集していました。
当該dropzone.jsをコピーして編集したところ動作しました。

今回、updateディレクトリを使った場合における、
ユーザー設定の仕組みが知れて勉強になりました。

ありがとうございました!
 

Re: 256Mを超えるファイルをアップロードできない

2018年5月29日 at 11:46
良かったです!

GitHub の Issue はクローズしておきます。