Sådan øges PHP-filens uploadstørrelsesgrænse
Hvis du har en webapplikation, der uploader filer til serveren via et PHP-script, har du måske bemærket, at du som standard ikke kan uploade forfærdeligt store filer. Sådan ændrer du det.
Grunden til, at grænsen er indstillet ret lavt som standard, er af stabilitets- og sikkerhedsmæssige årsager - et ondsindet script eller en angriber kan forsøge at gøre din server med store filoploadinger og midlertidigt lukke din ansøgning ned.
For at ændre værdierne skal du redigere din php.ini-fil, som normalt findes på denne filsti:
/etc/php.ini
Her er de indstillinger, du vil ændre:
post_max_size
Denne indstilling styrer størrelsen på et HTTP-indlæg, og det skal indstilles større end upload_max_filesize indstillingen.
upload_max_filesize
Denne værdi angiver den maksimale størrelse af en uploadfil.
memory_limit
Du vil sikre dig, at din scripthukommelsesgrænse er indstillet til en anstændig størrelse, sandsynligvis større end en af de to andre indstillinger.
Indstilling af variabler
Du kan indstille værdierne ved at bruge en numerisk værdi efterfulgt af M for den mængde MB, du vil allokere for hver variabel. For at tillade, at 20MB-filer uploades, kan du bruge noget som dette:
memory_limit = 64M
upload_max_filesize = 20M
post_max_size = 25M
Du skal genstarte din Apache-server, når du har foretaget denne ændring, med denne kommando:
/etc/init.d/httpd genstart
Indstilling af uploadstørrelse pr. Program
Du kan gøre denne indstilling ændret til en bestemt webapplikation ved at sætte den i .htaccess-filen i stedet i programmets mappe. Bemærk, at dette kun virker, hvis din server har aktiveret overstyringer for din virtuelle vært eller server.
Du kan f.eks. Indsætte følgende i filen:
php_value memory_limit = 64M
php_value upload_max_filesize = 20M
php_value post_max_size = 25M
Når du har gemt filen, skal ændringerne anvendes.