Kako povečati omejitev velikosti datoteke za PHP
Če imate spletno aplikacijo, ki prenaša datoteke na strežnik s pomočjo skripta PHP, ste morda opazili, da privzeto ne morete prenesti grozno velikih datotek. Evo kako ga spremenite.
Razlog, zakaj je omejitev privzeto nastavljena precej nizko, je zaradi stabilnosti in varnostnih razlogov - zlonamerni skript ali napadalec lahko poskuša strežniku DoS strežnik z velikimi prenosi datotek začasno zaustaviti.
Če želite spremeniti vrednosti, boste morali urediti datoteko php.ini, ki jo navadno najdete na tej poti datoteke:
/etc/php.ini
Tukaj so nastavitve, ki jih želite spremeniti:
post_max_size
Ta nastavitev nadzoruje velikost objave HTTP in jo je treba nastaviti več kot nastavitev upload_max_filesize.
upload_max_filesize
Ta vrednost nastavi največjo velikost datoteke za nalaganje.
memory_limit
Prepričajte se, da je omejitev pomnilnika skripta nastavljena na dostojno velikost, verjetno večje od katere koli druge nastavitve.
Nastavitev spremenljivk
Vrednosti lahko nastavite z uporabo številske vrednosti, ki ji sledi M, za količino MB, ki jo želite dodeliti vsaki spremenljivki. Če želite na primer prenesti 20 MB datotek, uporabite nekaj takega:
memory_limit = 64M
upload_max_filesize = 20M
post_max_size = 25M
Ko boste naredili to spremembo, boste morali znova zagnati strežnik Apache:
/etc/init.d/httpd ponovni zagon
Nastavitev velikosti prenosa na aplikacijo
To nastavitev lahko spremenite za določeno spletno aplikacijo tako, da jo vstavite v datoteko .htaccess v imenik aplikacije. Upoštevajte, da bo to delovalo samo, če je strežnik omogočil razveljavitve za vaš navidezni gostitelj ali strežnik.
V datoteko lahko na primer vnesete naslednje:
php_value memory_limit = 64M
php_value upload_max_filesize = 20M
php_value post_max_size = 25M
Ko datoteko shranite, je treba spremembe uporabiti.