413, kodunuzdan değil web sunucusundan gelir. İstek, PHP'ye ulaşmadan kesildi; uygulama kaydında hiçbir şey görünmemesinin ve upload_max_filesize'ı tek başına yükseltmenin bir şey değiştirmemesinin sebebi budur.

Nginx

# in http, server or location
client_max_body_size 64M;

sudo nginx -t && sudo systemctl reload nginx

Varsayılan değer 1M'dir. Neredeyse herkesin ilk çarptığı sınır odur.

PHP, hem de iki değeri birden

; php.ini
upload_max_filesize = 64M
post_max_size = 68M       ; must exceed upload_max_filesize
memory_limit = 128M
max_execution_time = 300
post_max_size, upload_max_filesize'dan BÜYÜK olmalıdır; çünkü istek dosyayla birlikte formun geri kalanını da taşır. İkisini eşitlerseniz tam sınırdaki bir dosya, hiçbir işe yarar ileti vermeden başarısız olur.

Apache ve LiteSpeed

# .htaccess
LimitRequestBody 67108864
php_value upload_max_filesize 64M
php_value post_max_size 68M

Sonra gerçekte neyin yüklü olduğunu doğrulayın

php -i | grep -E 'upload_max_filesize|post_max_size'   # the CLI, which may differ
# and from the web, in a temporary file:
# <?php echo ini_get('upload_max_filesize');
Komut satırı ile web sunucusu farklı ini dosyalarını okur. php -i'de görünüp tarayıcıda görünmeyen bir değişiklik, yanlış dosyayı düzenlediğiniz anlamına gelir — PHP-FPM havuz dizinine de bakın.

Her değişiklikten sonra yeniden yükleyin

sudo systemctl reload php8.3-fpm nginx
EGPHP barındırmasında bu sınırlar plana göre belirlenir ve panelden yükseltilebilir. Ayrıca bkz. php.ini dosyanızı hiçe sayan bir yükleme sınırı.