Hemsida » hur » Så här ökar du PHP File Upload Size Limit

    Så här ökar du PHP File Upload Size Limit

    Om du har en webbapplikation som laddar upp filer till servern via ett PHP-skript kanske du har märkt att du som standard inte kan ladda upp väldigt stora filer. Så här ändrar du det.

    Anledningen till att gränsen är ganska låg som standard är av stabilitets- och säkerhetsskäl - ett skadligt skript eller angripare kan försöka göra din server med stora filuppladdningar och stänga din ansökan tillfälligt.

    För att ändra värdena måste du redigera din php.ini-fil, som normalt finns på den här filvägen:

    /etc/php.ini

    Här är de inställningar du vill ändra:

    post_max_size
    Den här inställningen styr storleken på ett HTTP-inlägg, och det måste ställas in större än inställningen upload_max_filesize.

    upload_max_filesize
    Detta värde anger maximal storlek på en uppladdningsfil.

    memory_limit
    Du vill se till att din skriptminnegräns är inställd på en anständig storlek, förmodligen större än någon av de andra två inställningarna.

    Ställa in variablerna

    Du kan ställa in värdena med hjälp av ett numeriskt värde följt av M för mängden MB du vill fördela för varje variabel. Till exempel, för att tillåta att 20 MB filer laddas upp, kan du använda något av följande:

    memory_limit = 64M
    upload_max_filesize = 20M
    post_max_size = 25M

    Du måste starta om din Apache-server när du har gjort den här ändringen, med det här kommandot:

    /etc/init.d/httpd omstart

    Ställa in uppladdningsstorlek per applikation

    Du kan göra denna inställning ändras för en specifik webbapplikation genom att lägga den i .htaccess-filen i stället, i programkatalogen. Observera att detta bara fungerar om servern har aktiverat överklaganden för din virtuella värd eller server.

    Du kan till exempel lägga följande i filen:

    php_value memory_limit = 64M
    php_value upload_max_filesize = 20M
    php_value post_max_size = 25M

    När du har sparat filen ska ändringarna tillämpas.