If-Koubou

Jak zwiększyć limit wielkości wysyłania plików PHP

Jak zwiększyć limit wielkości wysyłania plików PHP (Jak)

Jeśli masz aplikację sieciową, która przesyła pliki na serwer za pośrednictwem skryptu PHP, możesz zauważyć, że domyślnie nie możesz przesłać strasznie dużych plików. Oto jak to zmienić.

Powód, dla którego limit jest ustawiony dość nisko domyślnie, jest ze względów stabilności i bezpieczeństwa - złośliwy skrypt lub atakujący może próbować wykonać DoS swój serwer z dużymi plikami i tymczasowo zamknąć aplikację.

Aby zmienić wartości, musisz edytować plik php.ini, zwykle znajdujący się w tej ścieżce pliku:

/etc/php.ini

Oto ustawienia, które chcesz zmienić:

post_max_size
To ustawienie kontroluje rozmiar posta HTTP i musi być większe niż ustawienie upload_max_filesize.

upload_max_filesize
Ta wartość określa maksymalny rozmiar przesyłanego pliku.

memory_limit
Musisz się upewnić, że limit pamięci skryptu jest ustawiony na przyzwoity rozmiar, prawdopodobnie większy niż którykolwiek z pozostałych dwóch ustawień.

Ustawianie zmiennych

Możesz ustawić wartości, używając wartości numerycznych, a następnie M dla ilości MB, którą chcesz przydzielić dla każdej zmiennej. Na przykład, aby umożliwić przesłanie plików o wielkości 20 MB, można użyć czegoś takiego:

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

Po wprowadzeniu tej zmiany konieczne będzie ponowne uruchomienie serwera Apache za pomocą następującego polecenia:

/etc/init.d/httpd restart

Ustawianie wielkości przesyłania na aplikację

Możesz zmienić to ustawienie dla konkretnej aplikacji internetowej, umieszczając je w pliku .htaccess w katalogu aplikacji. Zauważ, że zadziała to tylko wtedy, gdy Twój serwer włączył obsługę nadpisań dla twojego wirtualnego hosta lub serwera.

Na przykład możesz umieścić w pliku:

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

Po zapisaniu pliku zmiany powinny zostać zastosowane.