Kuinka lisätä PHP-tiedostonlatauksen kokorajoitusta
Jos sinulla on web-sovellus, joka lähettää tiedostoja palvelimeen PHP-komentosarjan kautta, olet ehkä huomannut, että olet oletuksena et voi ladata hirvittävän suuria tiedostoja. Näin voit muuttaa sitä.
Syy, miksi raja on asetettu melko alhaiseksi, on vakauden ja turvallisuuden takia - haittaohjelma tai hyökkääjä voi yrittää tehdä palvelimellasi suuria tiedostoja ja sulkea sovelluksesi väliaikaisesti.
Jos haluat muuttaa arvoja, joita sinun tarvitsee muokata php.ini-tiedostoasi, tavallisesti löytyy tältä tiedoston polulta:
/etc/php.ini
Tässä on muutettavat asetukset:
post_max_size
Tämä asetus ohjaa HTTP-viestin kokoa, ja se on asetettava suuremmaksi kuin upload_max_filesize-asetus.
upload_max_filesize
Tämä arvo määrittää lataustiedoston enimmäiskoon.
memory_limit
Haluat varmistaa, että skriptimuistin raja on asetettu kunnolliseen kokoon, todennäköisesti suurempi kuin jompikumpi kahdesta muusta asetuksesta.
Muuttujien asettaminen
Voit asettaa arvot käyttämällä numeerista arvoa, jota seuraa M, kun haluat määrittää kunkin muuttujan MB: n määrän. Jos haluat esimerkiksi ladata 20 Mt: n tiedostoja, käytät jotain tällaista:
memory_limit = 64M
upload_max_filesize = 20M
post_max_size = 25M
Sinun on käynnistettävä Apache-palvelin uudelleen, kun olet tehnyt tämän muutoksen.
/etc/init.d/httpd käynnistyy uudelleen
Latauskoon asettaminen sovellusta kohti
Voit tehdä tämän asetuksen muutoksen tietylle web-sovellukselle asettamalla sen .htaccess-tiedostoon sovelluksen hakemistoon. Huomaa, että tämä toimii vain, jos palvelimesi on ottanut käyttöön virtuaalisen isännän tai palvelimen ohituksen.
Voit esimerkiksi lisätä tiedoston tiedostoon:
php_value memory_limit = 64M
php_value upload_max_filesize = 20M
php_value post_max_size = 25M
Kun olet tallentanut tiedoston, muutokset on tehtävä.