upload_max_filesize unchangeable?

Discussion in 'General' started by softstein, Apr 4, 2012.

  1. softstein

    softstein New Member

    Hello!

    I am running into problems changing upload_max_filesize on a Debian Squeeze Ispconfig3 installation (which works like a charm btw :).
    Normally this should be a rather trivial task, but as it turns out it is not:

    I am running a website under FastCGI with SuExec.

    In /etc/php5/cgi/php.ini I changed:
    upload_max_filesize = 20M
    memory_limit = 129M

    (i made these changes to all php.ini's (mod_apache,cgi,cli) as well to make sure).

    Nevertheless Apache remains unimpressed by my changes, all values still remain default (upload_max_filesize 2M, memory_limit 128M). # apache2ctl restart makes no difference.
    Interestingly, however AllowOverride All is set properly, I cannot even override the values with ini_set(...) neither.

    Now I am really running out of ideas. Has anybody any idea where I am missing the point?

    Any idea/help is very appreciated!
     
  2. kwickcut

    kwickcut Member HowtoForge Supporter

    did you restart apache if not then try that

    i know with ubuntu there are 3 locations, and ubuntu is a spin off of Debian Squeeze so maybe its the same check the following and see all should be set the same

    /etc/php5/apache2/php.ini
    /etc/php5/cgi/php.ini
    /etc/php5/cli/php.ini
     
  3. softstein

    softstein New Member

    Yes kwickcut, I did restart the apache. no effect. And I changed the value in all three php.ini's. No effect either.

    But meanwhile I found other workarounds. They do not work on global scope but that's better than no scope at all :)

    #1: pimping the starter script (in this case /home/www/php-fcgi-scripts/web2/.php-fcgi-starter ) so that it reads (mind the last line before $1)

    Code:
    #!/bin/sh
    PHPRC="/var/www/conf/web2"
    export PHPRC
    PHP_DOCUMENT_ROOT="/var/www/clients/client1/web2"
    export PHP_DOCUMENT_ROOT
    # The variable PHP_FCGI_CHILDREN is onyl useful for lighty or nginx as apache
    # mod_fcgi will control the number of childs themself and never use the additional processes.
    # PHP_FCGI_CHILDREN=8
    # export PHP_FCGI_CHILDREN
    PHP_FCGI_MAX_REQUESTS=5000
    export PHP_FCGI_MAX_REQUESTS
    exec /usr/bin/php-cgi \
     -d open_basedir="/var/www/clients/client1/web2/web:/var/www/clients/client1/web2/tmp:/usr/share/php5:/tmp:/usr/share/typo3" \
    -d upload_tmp_dir=/var/www/clients/client1/web2/tmp \
    -d session.save_path=/var/www/clients/client1/web2/tmp \
    -d upload_max_filesize=20M \
     $1
    or, way more elegantly

    #2: using .user.ini
    by creating a file .user.ini in the web/ folder (should be found automatically) which contains
    Code:
    upload_max_filesize=20M
    And that's just it. Hope it helps anyone.
     
  4. till

    till Super Moderator Staff Member ISPConfig Developer

    You have set some custom php.ini values in the php.ini field in ispconfig, so this website uses its own php.ini. The recommended solution for your problem is to add:

    upload_max_filesize=20M

    in the php.ini field in the website settings.

    Altering the fcgi starter script will not last long as your changes will get removed and adding a user ini file can be used but why adding a third config option when everything is available from within the ispconfig interface without editing any files :)
     
  5. softstein

    softstein New Member

    Hello Till, thanks for your help.
    I tried this in the first place. But setting something in the php.ini field does surely work if you use apache_mod.

    But with FastCGI it seems there is no effect (at least in my installation).
     
  6. till

    till Super Moderator Staff Member ISPConfig Developer

    No,you mix up two fields here: for mod_php, you add the settings in the apache directives field, not the php.ini field. mod_php does not support separate php.ini files for each vhost, so you have to set the values inside the vhost file (apache directives field) as php_admin_value and php_admin_flag settings and not in a custom php.ini.

    The php.ini field is especially for fastcgi. Maybe you you did not wait until the changes were written to disk (which take at least one minute, see jobqueue in moinitor) or you entered the values as php_dmin_flag or php_admin_value instead of the normal php.ini file format.. The values of the php.ini field are written to a php.ini file in the directory /var/www/conf/web2/ and this directory is set in the fcgi strater script:

    PHPRC="/var/www/conf/web2"
     
  7. crypter

    crypter New Member

    Sorry to bump such an old thread, but I had a question regarding this. Basically I have gone into ISPConfig->Sites->domain.com->Options and added the following to the "Custom php.ini settings" input:

    upload_max_filesize=100M

    I have checked the jobqueue to make sure the job was still not running. I have also restarted apache. But I'm still unable to upload anything over ~2MB.

    One thing I'm wondering if it makes a difference, is I'm trying to do this on a subdomain that I have set up in ISP. Meaning, I'm applying these settings to the php.ini settings for domain.com, but want to make sure that in doing that it will apply to subdomain.domain.com as well?

    EDIT: This will probably help out a little. Here is an excerpt from my error log...

    mod_fcgid: HTTP request length 135568 (so far) exceeds MaxRequestLen (131072)
     
    Last edited: Mar 13, 2014
  8. till

    till Super Moderator Staff Member ISPConfig Developer

  9. crypter

    crypter New Member

  10. concept21

    concept21 Active Member


    But where can I change the upload_max_filesize from within IPSConfig 3.053? I can't find what you said. :confused:
     
  11. CK13

    CK13 New Member

    ISPConfig->Sites->domain.com->Options
    Custom php.ini settings field.
     

Share This Page