Jos sinulla on web-sovellus, joka lähettää tiedostoja palvelimelle PHP-komentosarjan kautta, olet ehkä huomannut, että oletuksena et voi ladata kovin suuria tiedostoja. Näin muutat sitä.
Syynä siihen, että raja asetetaan melko alhaiseksi oletuksena vakautta ja turvallisuutta koskevista syistä - haitallinen komentosarja tai hyökkääjä voi yrittää tehdä palvelimellesi suuria tiedostojen latauksia ja sulkea sovelluksen väliaikaisesti.
Voit muokata arvoja, jotka sinun on muokattava php.ini-tiedostoa, joka tavallisesti löytyy tässä tiedostopolussa:
/etc/php.ini
Tässä ovat asetukset, jotka haluat muuttaa:
post_max_size Tämä asetus ohjaa HTTP-viestin kokoa, ja se on asetettava suurempi kuin upload_max_filesize-asetus.
upload_max_filesize Tämä arvo määrittää lataustiedoston enimmäiskokoa.
memory_limit Haluat varmistaa, että kirjoitusmuistin raja on asetettu kohtuulliseen kokoon, todennäköisesti suurempi kuin jompikumpi kahdesta asetuksesta.
Muuttujien asettaminen
Voit asettaa arvot käyttämällä numeerista arvoa, jota seuraa M, jonka suuruus määräytyy kullekin muuttujalle. Jos haluat esimerkiksi lähettää 20 Mt tiedostot, käytä jotain tällaista:
memory_limit = 64M upload_max_filesize = 20M post_max_size = 25M
Apache-palvelimesi on käynnistettävä uudelleen, kun olet tehnyt tämän muutoksen, tällä komennolla:
/etc/init.d/httpd restart
Latauskoon määrittäminen sovelluksen mukaan
Voit muuttaa tätä asetusta tietylle verkkosovellukselle sijoittamalla sen.htaccess-tiedostoon sovelluksen hakemistossa. Huomaa, että tämä toimii vain, jos palvelimellasi on otettu käyttöön ylivoimainen virtuaalinen isäntä tai palvelin.
Voit esimerkiksi laittaa seuraavan tiedoston:
php_value memory_limit = 64M php_value upload_max_filesize = 20M php_value post_max_size = 25M
Kun tallennat tiedoston, muutokset tulee ottaa käyttöön.