Kā palielināt PHP faila augšupielādes lieluma ierobežojumu
Ja jums ir tīmekļa lietojumprogramma, kas, izmantojot PHP skriptu, augšupielādē failus serverī, iespējams, esat pamanījuši, ka pēc noklusējuma nevarat augšupielādēt ļoti lielus failus. Lūk, kā to mainīt.
Iemesls, kāpēc noklusējuma robežu nosaka diezgan maza, ir stabilitātes un drošības apsvērumu dēļ - ļaunprātīgs skripts vai uzbrucējs var mēģināt darīt serveri ar lielu failu augšupielādi un īslaicīgi izslēgt jūsu lietojumprogrammu.
Lai mainītu vērtības, kas vajadzīgas, lai rediģētu failu php.ini, 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āiestata lielāks par augšupielādes_max_filesize iestatījumu.
augšupielādēt_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 skriptu atmiņas ierobežojums ir iestatīts uz pienācīgu lielumu, iespējams, lielāks par kādu no diviem pārējiem iestatījumiem.
Mainīgo lielumu iestatīšana
Vērtības var iestatīt, izmantojot skaitlisko vērtību, kam seko M, lai MB, ko vēlaties piešķirt katram mainīgajam. Piemēram, lai varētu augšupielādēt 20MB failus, izmantojiet kaut ko līdzīgu:
memory_limit = 64M
upload_max_filesize = 20M
post_max_size = 25M
Jums būs jāatsāk Apache serveris, kad būsit veicis šīs izmaiņas, izmantojot šo komandu:
/etc/init.d/httpd restartēt
Augšupielādes lieluma iestatīšana vienai lietojumprogrammai
Šo iestatījumu var mainīt konkrētai tīmekļa lietojumprogrammai, ievietojot to .htaccess failā programmas direktorijā. Ņemiet vērā, ka tas darbojas tikai tad, ja jūsu serveris ir iespējojis virtuālā uzņēmēja vai servera ignorēšanu.
Piemēram, failā varat ievietot šādu informāciju:
php_value memory_limit = 64M
php_value upload_max_filesize = 20M
php_value post_max_size = 25M
Pēc faila saglabāšanas jāveic izmaiņas.