Ja jums ir tīmekļa lietojumprogramma, kas augšupielādē failus uz serveri, izmantojot PHP skriptu, iespējams, pamanījāt, ka pēc noklusējuma jūs nevarat augšupielādēt šausmīgi lielus failus. Lūk, kā to mainīt.
Iemesls, ka pēc noklusējuma ierobežojums ir noteikts diezgan zems, lai nodrošinātu stabilitāti un drošību - ļaunprātīgs skripts vai uzbrucējs varētu mēģināt DoS jūsu serverim ar lielu failu augšupielādi un īslaicīgi izslēgt jūsu pieteikumu.
Lai mainītu vērtības, kas nepieciešamas, lai rediģētu jūsu php.ini failu, parasti atrodams šajā faila ceļā:
/etc/php.ini
Šeit ir iestatījumi, kurus vēlaties mainīt:
post_max_size
Šis iestatījums kontrolē HTTP ziņojuma lielumu, un tas ir jānosaka lielāks par iestatījumu upload_max_filesize.
upload_max_filesize
Šī vērtība nosaka augšupielādes faila maksimālo lielumu.
memory_limit
Jūs vēlaties pārliecināties, vai jūsu skripta atmiņas ierobežojums ir iestatīts uz pienācīgu lielumu, kas, iespējams, ir lielāks nekā viens no diviem pārējiem iestatījumiem.
Mainīgo lielumu iestatīšana
Varat iestatīt vērtības, izmantojot skaitlisko vērtību, kam seko M, par MB lielumu, kuru vēlaties piešķirt katram mainīgajam. Piemēram, lai atļautu 20MB failu augšupielādi, izmantojiet šādu saturu:
memory_limit = 64M
upload_max_filesize = 20M
post_max_size = 25M
Pēc tam, kad būsit veicis šīs izmaiņas, jums būs jāuzstāda restartēts Apache serveris, izmantojot šo komandu:
/etc/init.d/httpd restart
Augšdaļas lieluma iestatīšana katrai lietojumprogrammai
Šo iestatījumu varat mainīt konkrētai tīmekļa lietojumprogrammai, to ievietojot .htaccess failā, nevis lietojumprogrammas direktorijā. Ņemiet vērā, ka tas darbosies tikai tad, ja jūsu serveris ir aktivizējis virtuālās saimniekdatora vai servera ignorēšanu.
Piemēram, failā var ievietot sekojošo:
php_value memory_limit = 64M
php_value upload_max_filesize = 20M
php_value post_max_size = 25M
Kad esat saglabājis failu, izmaiņas ir jāpiemēro.