Domovská » jak » Jak zvýšit limit velikosti souboru pro nahrání souboru PHP

    Jak zvýšit limit velikosti souboru pro nahrání souboru PHP

    Pokud máte webovou aplikaci, která nahrává soubory na server skrze PHP skript, možná jste si všimli, že ve výchozím nastavení nelze nahrávat strašně velké soubory. Zde je postup, jak to změnit.

    Důvodem, proč je limit nastaven na poměrně nízkou úroveň, je z důvodů stability a bezpečnosti - škodlivý skript nebo útočník by se mohl pokusit o váš server s velkými nahrávkami a dočasně ukončit aplikaci.

    Chcete-li změnit hodnoty, musíte upravit soubor php.ini, který se běžně nachází na této cestě:

    /etc/php.ini

    Zde jsou nastavení, která chcete změnit:

    post_max_size
    Toto nastavení řídí velikost příspěvku HTTP a musí být nastaveno větší než nastavení upload_max_filesize.

    upload_max_filesize
    Tato hodnota nastavuje maximální velikost souboru pro nahrávání.

    memory_limit
    Budete se chtít ujistit, že limit paměti skriptu je nastaven na slušnou velikost, pravděpodobně větší než ostatní dvě nastavení.

    Nastavení proměnných

    Hodnoty můžete nastavit pomocí číselné hodnoty a následně M pro množství MB, které chcete přidělit pro každou proměnnou. Chcete-li například povolit nahrávání souborů o velikosti 20 MB, použijte něco podobného:

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

    Po dokončení této změny budete muset restartovat server Apache s tímto příkazem:

    /etc/init.d/httpd restart

    Nastavení velikosti odesílání podle aplikace

    Toto nastavení můžete provést pro konkrétní webovou aplikaci vložením do souboru .htaccess v adresáři aplikace. Všimněte si, že to bude fungovat pouze v případě, že váš server povolí přepsání virtuálního hostitele nebo serveru.

    Například můžete do souboru vložit následující:

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

    Jakmile soubor uložíte, měly by být provedeny změny.