WordPress’te “Maksimum dosya boyutu limitini aştınız” benzeri uyarılar genelde medya yüklerken veya tema/eklenti zip dosyası yüklerken çıkar. Bu konu yıllardır değişmedi: WordPress’in gösterdiği limit, PHP ve web sunucusunun izin verdiği en düşük değere göre belirlenir. Yani WordPress içinde bir ayar arayıp bulamazsın; asıl kontrol php.ini, FPM ayarları, panel limitleri ve bazen de .htaccess/Nginx konfigidir.
Önce WordPress admin tarafında Araçlar/Site Sağlığı veya Ortam Bilgisi bölümünden “upload_max_filesize” ve “post_max_size” değerlerini görürsün. Burada gördüğün değerler küçükse PHP tarafı kısıyor demektir. cPanel kullanan sistemlerde “Select PHP Version” veya “MultiPHP INI Editor” içinden bu değerler artırılabilir.
php.ini (veya user.ini) tarafında tipik ayarlar şöyledir. Burada mantık şudur: upload_max_filesize tek dosya boyutudur, post_max_size form toplam boyutudur, memory_limit de işleme esnasında gereken RAM’dir. Birini yükseltip diğerini düşük bırakırsan yine patlarsınız.
; php.ini
upload_max_filesize = 128M
post_max_size = 128M
memory_limit = 256M
max_execution_time = 300
max_input_time = 300
Apache + PHP modülü veya bazı paylaşımlı hostlarda .htaccess üzerinden de set edilebilir. Her host kabul etmeyebilir ama denenebilir.
# .htaccess
php_value upload_max_filesize 128M
php_value post_max_size 128M
php_value memory_limit 256M
php_value max_execution_time 300
php_value max_input_time 300
Nginx kullanıyorsan farklıdır; client_max_body_size belirleyicidir. Bu ayar yapılmadan WordPress tarafında ne yaparsan yap dosya sunucuya hiç ulaşmaz.
# nginx.conf veya ilgili server block
client_max_body_size 128m;
Bir de “tema/eklenti yüklerken takılıyor” durumu vardır. ZIP açma sırasında sunucu tarafında disk kotası, inode limiti veya geçici dizin izni sorun çıkarabilir. Bu durumda yalnızca limit yükseltmek yetmez; wp-content/uploads ve /tmp izinlerini de kontrol etmek gerekir.
WordPress tarafında pratik bir yöntem de FTP ile yüklemektir. Eğer amaç büyük bir eklenti/tema zip yüklemekse, zipi lokalinde açıp klasörü doğrudan wp-content/plugins veya wp-content/themes içine atarsın. Bu, upload limitine takılmadan kurulumu tamamlamanın en geleneksel yoludur. Sonra admin panelden etkinleştirirsin.
Medya yükleme limitini artırmak için WordPress içinde bir “kod” mucizesi yoktur, ama nadiren hosting UI kilitliyse ve sadece WordPress’e erişimin varsa, ini_set ile limitleri yükseltmeyi deneyebilirsin. Bu her zaman çalışmaz, çünkü çoğu host ini_set’i kısıtlar.
// wp-config.php veya mu-plugin (çalışırsa)
@ini_set('upload_max_filesize', '128M');
@ini_set('post_max_size', '128M');
@ini_set('memory_limit', '256M');
Kalıcı ve düzgün çözüm yine sunucu tarafıdır. İşin doğrusu şudur: yükleme limitini “gerektiği kadar” artır, gereksiz abartma; çünkü büyük dosya yükleme saldırı yüzeyini artırır. İhtiyacın 64M ise 2G yapmanın âlemi yok.