Jei turite žiniatinklio programą, įkeliančią failus į serverį naudodami PHP scenarijų, galbūt pastebėjote, kad pagal nutylėjimą negalima įkelti labai sudėtingų failų. Štai kaip tai pakeisti.
Priežastis, dėl kurios pagal nutylėjimą nustatoma gana maža riba, yra dėl stabilumo ir saugumo priežasčių - kenksminga scenarijų arba užpuolikas gali bandyti DOS serverį su dideliu failų įkėlimu ir laikinai uždaryti savo programą.
Norėdami pakeisti vertes, kurių reikia norint redaguoti savo failą php.ini, paprastai galima rasti šiuo failo kelią:
/etc/php.ini
Čia yra nustatymai, kuriuos norite keisti:
post_max_size Šis nustatymas nustato HTTP įrašo dydį ir jo dydis turi būti didesnis nei nustatymas upload_max_filesize.
upload_max_filesize Ši vertė nustato maksimalų įkėlimo failo dydį.
memory_limit Jūs norėsite įsitikinti, kad jūsų scenarijaus atminties limitas nustatytas padoraus dydžio, tikriausiai didesnis nei bet kuris iš dviejų kitų nustatymų.
Kintamųjų nustatymas
Galite nustatyti vertes naudodami skaitinę reikšmę, o po to - M dydį, kurį norite skirti kiekvienam kintamam. Pvz., Norint įkelti 20MB failų, naudokite kažką panašaus:
memory_limit = 64M upload_max_filesize = 20M post_max_size = 25M
Po to, kai atliksite šį pakeitimą, turėsite iš naujo paleisti "Apache" serverį, naudodamas šią komandą:
/etc/init.d/httpd restart
Įkėlimo dydžio kiekvienai programai nustatymas
Galite padaryti šį nustatymą pakeisti tam tikrai žiniatinklio programai, įtraukdami ją į failą.htaccess, o ne į programos katalogą. Atkreipkite dėmesį, kad tai veiks tik tada, jei jūsų serveris įjungs virtualiojo serverio arba serverio keitimus.
Pavyzdžiui, galite įtraukti į failą:
php_value memory_limit = 64M php_value upload_max_filesize = 20M php_value post_max_size = 25M
Kai išsaugosite failą, pakeitimai turėtų būti taikomi.