Ak máte webovú aplikáciu, ktorá odovzdáva súbory na server pomocou skriptu PHP, možno ste si všimli, že v predvolenom nastavení nemôžete nahrať strašne veľké súbory. Tu je postup, ako ho zmeniť.
Dôvodom, prečo je limit nastavený na pomerne nízku úroveň, je z dôvodov stability a bezpečnosti - malý 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ť ubezpečiť, že limit vašej pamäte skriptu 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 potom 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.
Napríklad môžete do súboru 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.