Ako zvýšiť limit veľkosti uploadu súboru PHP
Ak máte webovú aplikáciu, ktorá odovzdáva súbory na server cez skript PHP, možno ste si všimli, že v predvolenom nastavení nemôžete nahrať strašne veľké súbory. Tu je postup, ako ju zmeniť.
Dôvod, prečo je limit nastavený na pomerne nízku úroveň, je z dôvodov stability a bezpečnosti - škodlivý skript alebo útočník sa môže pokúsiť urobiť váš server s veľkými nahrávkami a dočasne zatvoriť vašu aplikáciu.
Ak chcete zmeniť hodnoty, musíte upraviť súbor php.ini, ktorý sa bežne nachádza na tejto ceste súboru:
/etc/php.ini
Tu sú nastavenia, ktoré chcete zmeniť:
post_max_size
Toto nastavenie riadi veľkosť príspevku HTTP a musí byť nastavená väčšia ako nastavenie upload_max_filesize.
upload_max_filesize
Táto hodnota nastavuje maximálnu veľkosť súboru na odovzdávanie.
memory_limit
Budete sa chcieť uistiť, že limit vašej pamäte skriptov je nastavený na slušnú veľkosť, pravdepodobne väčšiu ako ostatné dve nastavenia.
Nastavenie premenných
Hodnoty môžete nastaviť pomocou číselnej hodnoty a následne M pre množstvo MB, ktoré chcete priradiť pre každú premennú. Napríklad, ak chcete povoliť nahranie súborov s veľkosťou 20 MB, použite niečo takéto:
memory_limit = 64M
upload_max_filesize = 20M
post_max_size = 25M
Po vykonaní tejto zmeny budete musieť reštartovať svoj server Apache s týmto príkazom:
/etc/init.d/httpd restart
Nastavenie veľkosti nahrania na aplikáciu
Toto nastavenie môžete zmeniť pre konkrétnu webovú aplikáciu tak, že ju namiesto toho zadáte do súboru .htaccess v adresári aplikácie. Upozorňujeme, že to bude fungovať len vtedy, ak váš server povolí prepísanie pre váš virtuálny hostiteľ alebo server.
Do súboru by ste napríklad mohli vložiť nasledovné:
php_value memory_limit = 64M
php_value upload_max_filesize = 20M
php_value post_max_size = 25M
Po uložení súboru by sa mali vykonať zmeny.