Unable to upload files greater than 3Mo

Permalink 1 user found helpful
Hi !
The problem is in the title : I'm unable to upload all kind of files greater than 3Mo. The upload starts but hangs around 3Mo. See the attached picture.
PHP settings : upload_max_filesize - 128M (see the environment below)
I'm not sure about it, but could be arrived since I upgraded to 8.4.3.
Any idea to fix this problem ?

My environment :
# concrete5 Version
Core Version - 8.4.3
Version Installed - 8.4.3
Database Version - 20180716000000

# concrete5 Packages
Backup Pro (3.3.0.8), Cloneamental (0.9.3), Code Display (1.0.1), Code for CKEditor (1.0.0), Customize Editing Interface (1.0.1), EU Cookie Law (1.0.6), Free Map (1.1.3), Magic Tabs (7.1.6), Manual Nav (2.2.0), More Block Templates (0.9.6), PDF Viewer (1.0.1), Simple Audio Player (0.9.1), Spacer (0.9.4), Whale OWL Carousel (2.5.7.9), Whale Sky Tabs (1.1.7)

# concrete5 Overrides
None

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

# Server Software
Apache

# Server API
cgi-fcgi

# PHP Version
5.6.38

# PHP Extensions
bcmath, bz2, calendar, cgi-fcgi, Core, ctype, curl, date, dba, dom, ereg, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, intl, ionCube Loader, json, libxml, mbstring, mcrypt, memcache, memcached, mhash, mongo, mysql, mysqli, mysqlnd, openssl, pcre, PDO, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, Phar, posix, pspell, redis, Reflection, session, SimpleXML, soap, sockets, SPL, sqlite3, standard, sysvmsg, sysvsem, sysvshm, tokenizer, wddx, xml, xmlreader, xmlrpc, xmlwriter, xsl, zip, zlib

# PHP Settings
max_execution_time - 300
log_errors_max_len - 1024
max_file_uploads - 20
max_input_nesting_level - 64
max_input_time - -1
max_input_vars - 16000
memory_limit - 512M
post_max_size - 130M
sql.safe_mode - Off
upload_max_filesize - 128M
memcache.max_failover_attempts - 20
memcached.sess_lock_max_wait - 0
mysql.max_links - Unlimited
mysql.max_persistent - 0
mysqli.max_links - Unlimited
mysqli.max_persistent - Unlimited
pcre.backtrack_limit - 1000000
pcre.recursion_limit - 100000
pgsql.max_links - Unlimited
pgsql.max_persistent - Unlimited
session.cache_limiter - <i>no value</i>
session.gc_maxlifetime - 7200
soap.wsdl_cache_limit - 5

1 Attachment

 
mnakalay replied on at Permalink Reply
mnakalay
Did you check if you had any error messages either in the browser's console or in Concrete5's logs?
vlemieux replied on at Permalink Reply
Hi,
Thanks for your help.
In the web console (Firefox) I've got this :
L’utilisation d’XMLHttpRequest de façon synchrone sur le fil d’exécution principal est obsolète à cause de son impact négatif sur la navigation de l’utilisateur final. Consulterhttp://xhr.spec.whatwg.org/ pour plus d’informations.

In english : Using XMLHttpRequest in a synchron way on the principal thread is obsolet because of it's negativ impact on the user's navigation.

Where can I find Concrete5 logs ?

Best regards,
Vincent
mnakalay replied on at Permalink Reply
mnakalay
To find logs you go to yourwebsite.com/index.php/dashboard/reports/logs

If you type "logs" in your toolbar intelligent search box it will be listed in the dropdown

Don't worry about that Firefox message, that's just a warning, probably in yellow. As long as it's not in red it's not a breaking error.
vlemieux replied on at Permalink Reply
Thanks again for your reply.
Nothing in the logs about the uploads....

Vincent
mnakalay replied on at Permalink Reply
mnakalay
I just saw the screenshot you posted. It seems you are uploading several files at the same time.

You might have problems if trying to upload more than 20 files at once or if the total size exceeds 130Mo per your PHP settings.
vlemieux replied on at Permalink Reply
In fact no : I upload them one by one, and even if one hanged, an other one (less than 3Mo ) could upload to the end. And the total amount is less than the max in php settings...

I've tried with different computers, through Linux or Windows, Firefox or Chrome and the result is the same...

Vincent
mnakalay replied on at Permalink Reply
mnakalay
That is strange. Frankly, short of having a look myself, all I can advise at this point is to upgrade to PHP 7.2 since you're using C5's latest version. 5.6.x is really outdated. You will get a big boost in speed and it might solve the problem. If it doesn't, at least you will have improved on performance and security.
mnakalay replied on at Permalink Reply
mnakalay
You could also check that the files you are trying to upload have authorized extensions. Are those files images or other kind of files? I know you said many different types but which exactly? For instance, by default, C5 doesn't allow zip files unless you modify the settings.

If you go to /dashboard/system/files/filetypes you'll see a list of what's allowed.
vlemieux replied on at Permalink Reply
No the kind of files are allowed... I'll try upgrading php.

Best regards

Vincent
mnakalay replied on at Permalink Reply
mnakalay
If nothing works and you'd like me to have a look, feel free to PM me, I'd be happy to run some tests.
vlemieux replied on at Permalink Reply
In the panel of my provider the php version is 7.2
I've changed in htaccess : setEnv PHP_VER 7_2

but in the environment information of Concrete5 it's still :

#PHP Version
5.6.38

Is there an other place to switch php version from 5.6 to 7.2 ?

Best regards
Vincent
mnakalay replied on at Permalink Reply
mnakalay
That's weird, maybe emptying the cache would do the trick?

To be sure which PHP version is active, create a file at the root of your site, next to index.php, name it anything, for instance info.php
Add this to it
<?php
phpinfo();

Then run it in your browserhttp://yoursiteaddress.com/info.php... and it will give you your full PHP info where you can check the version.

Don't leave that file on your server when you're done with it.
vlemieux replied on at Permalink Reply
I had to change also a config file from my provider...
My environment now : php 7 but still the same problem with the uploads.

max_execution_time - 300 seams to be bigger enough because the uploads hangs before 300 seconds.

I'll wait for an update of Concrete5...

# concrete5 Version
Core Version - 8.4.3
Version Installed - 8.4.3
Database Version - 20180716000000

# concrete5 Packages
Backup Pro (3.3.0.8), Cloneamental (0.9.3), Code Display (1.0.1), Code for CKEditor (1.0.0), Customize Editing Interface (1.0.1), EU Cookie Law (1.0.6), Free Map (1.1.3), Magic Tabs (7.1.6), Manual Nav (2.2.0), More Block Templates (0.9.6), PDF Viewer (1.0.1), Simple Audio Player (0.9.1), Spacer (0.9.4), Whale OWL Carousel (2.5.7.9), Whale Sky Tabs (1.1.7)

# concrete5 Overrides
None

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

# Server Software
Apache

# Server API
cgi-fcgi

# PHP Version
7.2.12

# PHP Extensions
bcmath, bz2, calendar, cgi-fcgi, Core, ctype, curl, date, dba, dom, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, imagick, imap, intl, ionCube Loader, json, libxml, mbstring, memcached, mongodb, mysqli, mysqlnd, openssl, pcre, PDO, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, Phar, posix, pspell, redis, Reflection, session, SimpleXML, soap, sockets, sodium, SPL, sqlite3, standard, sysvmsg, sysvsem, sysvshm, tokenizer, wddx, xml, xmlreader, xmlrpc, xmlwriter, xsl, zip, zlib

# PHP Settings
max_execution_time - 300
log_errors_max_len - 1024
max_file_uploads - 20
max_input_nesting_level - 64
max_input_time - -1
max_input_vars - 16000
memory_limit - 512M
post_max_size - 130M
upload_max_filesize - 64M
memcached.sess_lock_max_wait - not set
memcached.sess_lock_wait_max - 2000
memcached.sess_server_failure_limit - 0
mysqli.max_links - Unlimited
mysqli.max_persistent - Unlimited
pcre.backtrack_limit - 1000000
pcre.recursion_limit - 100000
pgsql.max_links - Unlimited
pgsql.max_persistent - Unlimited
session.cache_limiter - <i>no value</i>
session.gc_maxlifetime - 7200
soap.wsdl_cache_limit - 5
mnakalay replied on at Permalink Reply
mnakalay
I don't think Concrete5 is at fault here and that an update will fix the problem. I tested it with your exact settings and uploaded images and PDF files that were more than 5mo along with smaller images and PDF files and it worked normally.

Something is probably at play at your server level.
mnakalay replied on at Permalink Best Answer Reply
mnakalay
In the meantime, it might help if you upload your files directly to your application/files/incoming directory and then you can add them to the file manager from your file manager upload popup under the "incoming" tab. That might at least allow you to get the files in place.
vlemieux replied on at Permalink Reply
Really good solution : it's enough for me by this way, cause I don't have so much "heavy 3Mo" files to upload, even if it's a bit longer than the normal way.

Thanks for your useful help !!!

Best regards

Vincent
vlemieux replied on at Permalink Reply
Just a last question : is it possible to clean the incoming folder after importing my files in the file manager ?
mnakalay replied on at Permalink Reply
mnakalay
There is an option, under the incoming tab, at the end of your list of files to upload to do just that. It's a checkbox.
But you can also clean it up manually. When files are added to the file manager they are put in numbered directories in application/files and are not used from the incoming directory after that.
vlemieux replied on at Permalink Reply
OK
Thanks a lot !
Vincent