If-Koubou

Kako povećati ograničenje veličine učitavanja PHP datoteke

Kako povećati ograničenje veličine učitavanja PHP datoteke (Kako da)

Ako imate web-aplikaciju koja prenosi datoteke na poslužitelj putem PHP skripte, možda ste primijetili da prema zadanim postavkama ne možete prenijeti strašno velike datoteke. Evo kako to promijeniti.

Razlog zbog kojeg je zadano ograničenje ograničeno je zbog stabilnosti i sigurnosnih razloga - zlonamjerna skripta ili napadač može pokušati učiniti vaš poslužitelj velikim prijenosom datoteka i privremeno zatvoriti vašu aplikaciju.

Da biste promijenili vrijednosti, morat ćete urediti datoteku php.ini koja se obično nalazi na ovom putu datoteke:

/etc/php.ini

Evo postavki koje želite promijeniti:

post_max_size
Ova postavka određuje veličinu HTTP posta i treba biti veća od postavke upload_max_filesize.

upload_max_filesize
Ova vrijednost postavlja maksimalnu veličinu datoteke za prijenos.

memory_limit
Želite provjeriti je li ograničenje memorije skripte postavljeno na pristojnu veličinu, vjerojatno veću od bilo koje druge dvije postavke.

Postavljanje varijabli

Vrijednosti možete postaviti pomoću numeričke vrijednosti koju slijedi M za iznos MB koji želite dodijeliti za svaku varijablu. Na primjer, da biste omogućili prijenos 20 MB datoteka, upotrijebite nešto slično:

memory_limit = 64M
upload_max_filesize = 20M
post_max_size = 25M

Morat ćete ponovo pokrenuti poslužitelj Apache nakon što izvršite tu promjenu, pomoću ove naredbe:

/etc/init.d/httpd ponovo pokrenite

Postavljanje veličine prijenosa po aplikaciji

Možete promijeniti ovu postavku za određenu web-aplikaciju tako da umjesto toga stavite ga u .htaccess datoteku u direktorij aplikacije. Imajte na umu da će to funkcionirati samo ako je vaš poslužitelj omogućio poništavanje za vaš virtualni host ili poslužitelj.

Na primjer, možete staviti sljedeće u datoteku:

php_value memory_limit = 64M
php_value upload_max_filesize = 20M
php_value post_max_size = 25M

Nakon što spremite datoteku, promjene se trebaju primijeniti.