Kaip padidinti PHP failo įkėlimo dydžio ribą
Jei turite žiniatinklio programą, įkeliančią failus į serverį per PHP scenarijų, galbūt pastebėjote, kad pagal nutylėjimą negalite įkelti nepaprastai didelių failų. Štai kaip tai pakeisti.
Priežastis, dėl kurios riba yra nustatyta gana maža pagal numatytąją reikšmę, yra dėl stabilumo ir saugumo priežasčių - kenkėjiškas scenarijus ar užpuolikas gali bandyti atlikti jūsų serverį su dideliais failų įkėlimais ir laikinai sustabdyti jūsų taikymą.
Jei norite keisti vertes, kurias turėsite redaguoti savo php.ini failą, paprastai jį rasite šiame failo maršrute:
/etc/php.ini
Čia pateikiami nustatymai, kuriuos norite pakeisti:
post_max_size
Šis nustatymas valdo HTTP įrašo dydį, ir jis turi būti nustatytas didesnis nei įkelti_max_filesize nustatymas.
upload_max_filesize
Ši reikšmė nustato maksimalų įkėlimo failo dydį.
memory_limit
Norėsite įsitikinti, kad jūsų scenarijaus atminties riba yra nustatyta tinkamo dydžio, tikriausiai didesnė nei bet kuri kita iš dviejų nustatymų.
Kintamųjų nustatymas
Vertes galite nustatyti naudodami skaitinę vertę, po kurios M, kiek MB norite priskirti kiekvienam kintamajam. Pvz., Norint įkelti 20 MB failų, naudokite kažką panašaus:
memory_limit = 64M
upload_max_filesize = 20M
post_max_size = 25M
Kai atliksite šį pakeitimą, turėsite iš naujo paleisti „Apache“ serverį, naudodami šią komandą:
/etc/init.d/httpd paleiskite iš naujo
Įkėlimo dydžio nustatymas vienai programai
Galite nustatyti, kad šis nustatymas pasikeistų konkrečiai žiniatinklio programai, jį įterpiant į .htaccess failą, į programos katalogą. Atminkite, kad tai veiks tik tuomet, jei jūsų serveris įgalins virtualiojo kompiuterio arba serverio perrašymus.
Pvz., Į failą galite įtraukti:
php_value memory_limit = 64M
php_value upload_max_filesize = 20M
php_value post_max_size = 25M
Įrašę failą, pakeitimai turėtų būti taikomi.