Dacă aveți o aplicație web care încarcă fișiere pe server printr-un script PHP, este posibil să fi observat că, în mod implicit, nu puteți încărca fișiere extrem de mari. Iată cum să o schimbați.
Motivul pentru care limita este setată destul de scăzută în mod implicit este din motive de stabilitate și securitate - un script malware sau un atacator ar putea încerca să facă serverul dvs. DoS cu încărcări mari de fișiere și să închidă temporar cererea dvs. în jos.
Pentru a modifica valorile, trebuie să editați fișierul php.ini, care se găsește în mod normal la această cale de fișier:
/etc/php.ini
Iată setările pe care doriți să le modificați:
post_max_size
Această setare controlează dimensiunea unei postări HTTP și trebuie să fie setată mai mare decât setarea upload_max_filesize.
upload_max_filesize
Această valoare stabilește dimensiunea maximă a unui fișier de încărcare.
memory_limit
Veți dori să vă asigurați că limita de memorie de script este setată la o dimensiune decentă, probabil mai mare decât oricare dintre celelalte două setări.
Setarea variabilelor
Puteți seta valorile utilizând o valoare numerică urmată de M pentru cantitatea de MB pe care doriți să o alocați pentru fiecare variabilă. De exemplu, pentru a permite încărcarea fișierelor de 20MB, ați putea folosi ceva de genul:
memory_limit = 64M
upload_max_filesize = 20M
post_max_size = 25M
Va trebui să reporniți serverul Apache odată ce ați făcut această modificare, cu următoarea comandă:
/etc/init.d/httpd restart
Setarea dimensiunii de încărcare pe aplicație
Puteți modifica această setare pentru o anumită aplicație web, introducând-o în fișierul .htaccess, în directorul aplicației. Rețineți că acest lucru va funcționa numai dacă serverul dvs. a activat suprascrierea pentru gazda virtuală sau pentru serverul dvs. virtuale.
De exemplu, ați putea pune în fișier următoarele:
php_value memory_limit = 64M
php_value upload_max_filesize = 20M
php_value post_max_size = 25M
După ce salvați fișierul, modificările trebuie aplicate.