Wordpress FCGI upload large files

Discussion in 'General' started by Entangled, Sep 19, 2017.

  1. Entangled

    Entangled Member

    Hello,

    I am have a problem uploading 500MB> files using Wordpress Media Library for a Woocommerce Downloadable Product . When I attempt to upload files 500MB+, Wordpress uploads the files to /tmp/ twice, but, never moves the files to the protected uploads/woocommerce directory. Works as designed for files under 500MB.

    I have changed the FCGI setting in both /etc/apache/mods-available/fcgi.conf and in the Vhost config. Same results.

    I can not found any error messages in the system logs or in the Vhost logs.

    Any help would be appreciated in getting this resolved.

    Thank you.
     
  2. ztk.me

    ztk.me Well-Known Member HowtoForge Supporter

    I'm not entirely sure if this is still valid but... where does your php ( I assume it's php ) memory_limit caps and what happens if you increase it ?
     
  3. Entangled

    Entangled Member

    Again, thanks for the reply.

    I have increase the PHP memory_limit and I get the same results. The large files (over 500+MB) are uploaded to /tmp but aren't moved to /web/wp-content/uploads/woocommerce_uploads/2017/. Instead of moving the files, the files are uploaded a second time before ended with a HTTP error.

    And nothing shows in the logs either.
     
  4. ztk.me

    ztk.me Well-Known Member HowtoForge Supporter

    uh doh, you changed the settings for max upload size but not for execution times, right?

    edit: I think of FcgidBusyTimeout for mod_fcgi, Timeout 300 in apache2.conf/httpd.conf,
    mod_reqtimeout ( default config should work, but in doubt disable for testing purpose ) aswell as the max execution time for php.ini ...
     
    Last edited: Oct 5, 2017
  5. Entangled

    Entangled Member

    I have adjusted several parameters in /etc/php5/cgi,cli,apache/php.ini ... I have also the same parameters in the VHosts too.

    In apache2.conf, Timeout 300 was already set.

    In mods-available/fcgi.conf, I have:

    <IfModule mod_fcgid.c>
    AddHandler fcgid-script .fcgi
    FcgidMaxRequestLen 3221223823

    FcgidMinProcessesPerClass 0
    FcgidMaxProcessesPerClass 8
    FcgidMaxProcesses 150
    FcgidIdleTimeout 60
    FcgidProcessLifeTime 120
    FcgidIdleScanInterval 30

    </IfModule>

    I have not messed with mod_reqtimeout and max_execution_time = 600 in all the php.ini.

    I will try to upload an almost 2gig file when these parameters are disables and see what happens.

    I'll let you know. Thanks for the suggestions.
     
  6. ztk.me

    ztk.me Well-Known Member HowtoForge Supporter

    I hope you did adjust the apache Timeout aswell? Honestly, I never used mod_fcgid just because I think it's weird - so if it doesn't work in the end, I'd blame it on that - so maybe it's better to ask someone else about that *g
    @till any ideas?
     
  7. ztk.me

    ztk.me Well-Known Member HowtoForge Supporter

    Hmm could it possibly be that the fcgi handler is thinking the script timeouts after your upload is finished ( hence no data is beeing sent , which aswell brings mod_reqtimeout into play ) but has not been finally processed so it gives out the error and stops script execution?
     

Share This Page