Medya kütüphanesine video, PDF ya da yüksek çözünürlüklü görsel yüklerken veya ZIP olarak eklenti/tema kurarken yükleme başarısız oluyor; WordPress dosyanın izin verilen en büyük boyutu aştığını söylüyor ya da yükleme genel bir hatayla yarıda kalıyor.
Kısa yanıt#
Sınırı WordPress değil, sunucudaki PHP ayarları belirler. WordPress, upload_max_filesize ve post_max_size değerlerinden küçük olanı sınır olarak kullanır. Her ikisini de yüklemek istediğiniz dosyadan büyük olacak şekilde, post_max_size biraz daha büyük kalacak biçimde artırın. Bunu tercihen barındırma panelinizin PHP ayarlarından, yoksa kök dizindeki .user.ini (veya hostingin belirttiği php.ini) dosyasından yapın. Değişikliği Site Sağlığı ekranından doğrulayın.
Sınırı kim belirliyor?#
WordPress’in wp_max_upload_size() işlevi, PHP’nin upload_max_filesize ve post_max_size değerlerini okur ve ikisinden küçüğünü döndürür. PHP belgelerine göre:
upload_max_filesize: Yüklenebilecek tek dosyanın en büyük boyutu.post_max_size: Form gönderisinin toplam boyutu; büyük dosya yüklemek içinupload_max_filesize‘dan büyük olmalıdır. Genel olarakmemory_limitdapost_max_size‘dan büyük tutulmalıdır.- Gönderi
post_max_size‘ı aşarsa PHP form verisini boş bırakır; bu yüzden bazen anlaşılır bir hata yerine genel bir başarısızlık görürsünüz.
Yani yalnızca bir değeri artırmak yetmez; düşük kalan değer sınırı belirlemeye devam eder.
Mevcut sınırı görme#
- Medya > Yeni Ekle ekranında yükleme alanının altında en büyük dosya boyutu yazar.
- Araçlar > Site Sağlığı > Bilgi sekmesinde sunucu ve medya bölümlerinde yükleme ve gönderi boyutu değerleri listelenir (başlıklar WordPress sürümüne göre biraz farklı olabilir).
Önce yedek ve alternatifler#
- Sunucu dosyalarını değiştirmeden önce düzenleyeceğiniz dosyanın bir kopyasını alın. Yanlış bir satır
.htaccess‘te “500 Internal Server Error”a yol açabilir; kopya varsa saniyeler içinde geri dönersiniz. - Gerçekten büyük dosya gerekli mi? Görselleri yüklemeden önce boyutlandırmak ve sıkıştırmak, videoları harici bir video platformunda barındırmak çoğu zaman daha iyi performans sağlar.
Sınırı artırma#
1. Barındırma panelinden (önerilen)
cPanel, Plesk ve benzeri panellerin çoğunda “PHP Ayarları”, “MultiPHP INI Düzenleyicisi” veya “PHP Seçenekleri” gibi bir bölüm bulunur. Burada upload_max_filesize ve post_max_size değerlerini artırın. Paylaşımlı hostingte en güvenli ve kalıcı yol budur.
2. .user.ini veya php.ini ile
Panel seçeneği yoksa, barındırma firmanızın hangi dosya adını kullandığını öğrenin (PHP-FPM/FastCGI ortamlarında genellikle .user.ini). WordPress kök dizininde bu dosyayı açın veya oluşturun ve şuna benzer değerler girin (örnek değerdir, dosyanıza göre ayarlayın):
upload_max_filesize = 64M post_max_size = 72M
PHP belgelerine göre .user.ini dosyaları varsayılan olarak belirli aralıklarla (önbellek süresi varsayılanı 300 saniye) yeniden okunur; değişikliğin görünmesi birkaç dakika sürebilir. Dosya yöneticisinde gizli dosyaları göstermeyi unutmayın.
3. .htaccess ile (yalnızca Apache + mod_php)
php_value upload_max_filesize 64M gibi satırlar yalnızca PHP’nin Apache modülü olarak çalıştığı sunucularda geçerlidir. PHP-FPM veya LiteSpeed kullanan bir sunucuda bu satırlar 500 hatasına yol açabilir. Hata görürseniz eklediğiniz satırları hemen kaldırın.
Neden wp-config.php veya functions.php işe yaramayabilir?
İnternette sık önerilen ini_set('upload_max_filesize', ...) satırı genellikle sonuç vermez: PHP belgelerinde bu iki ayar INI_PERDIR olarak işaretlidir, yani çalışma sırasında betik içinden değil, php.ini, .user.ini veya sunucu yapılandırması üzerinden değiştirilebilir. Ayrıca tema dosyasına eklenen kod, tema güncellemesinde kaybolur.
Doğrulama#
- Birkaç dakika bekleyin, ardından Medya > Yeni Ekle ekranındaki sınırın değiştiğini kontrol edin.
- Site Sağlığı > Bilgi sekmesinde iki değerin de güncellendiğine bakın.
- Dosyayı yeniden yükleyin.
Değişiklik işe yaramazsa#
- Barındırma planınızın üst sınırı olabilir; bazı firmalar bu değerleri sabitler. Destek ekibinden artırmalarını isteyin.
- Sunucu önünde bir web sunucusu veya proxy katmanı istek gövdesine ayrı bir sınır uyguluyor olabilir (örneğin Nginx’te
client_max_body_sizeveya CDN/WAF kuralları). Bu ayarlara erişiminiz yoksa barındırma firmasına iletin. - Yükleme boyut sınırı uyarısı olmadan yarıda kalıyorsa bellek veya zaman aşımı sınırları devreye giriyor olabilir; hata günlüğüne bakın. Yükleme sonrası site tamamen çöktüyse: WordPress “kritik bir hata oluştu” çözümü.
- Çok büyük dosyaları (örneğin site taşıma arşivleri) panel yerine SFTP ile
wp-content/uploadsdizinine yükleyip ardından ilgili eklentinin içe aktarma yöntemini kullanmak da bir seçenektir.
Güvenlik notu#
Sınırı gerektiğinden çok yükseltmeyin; büyük yüklemeler sunucu kaynaklarını tüketebilir. Yükleme izni olan kullanıcı rollerini sınırlı tutun ve yönetici hesaplarını koruyun: WordPress yönetici hesabını koruma. İşi bitince test için oluşturduğunuz phpinfo dosyası varsa sunucudan silin; sunucu bilgilerini herkese açık bırakır.
Kapsam#
Kendi barındırmanızda çalışan WordPress.org kurulumları; Apache, LiteSpeed veya Nginx ile PHP-FPM kullanan paylaşımlı hosting, VPS ve sunucular. WordPress.com’da yükleme sınırları plana bağlıdır ve bu adımlar geçerli değildir.
Sık sorulan sorular#
upload_max_filesize’ı artırdım ama sınır değişmedi, neden?
WordPress iki değerden küçüğünü kullanır; post_max_size düşük kaldıysa sınır değişmez. Ayrıca düzenlediğiniz dosya sunucunun okuduğu dosya olmayabilir; barındırma firmanıza doğru dosya adını sorun.
Eklentiyle sınırı artırmak güvenli mi?
Eklentiler de sonuçta aynı PHP ayarlarına bağlıdır; sunucu izin vermiyorsa eklenti sınırı aşamaz. Gereksiz bir eklenti eklemek yerine panelden ayarlamak daha temizdir.
.htaccess’e satır ekledikten sonra site 500 hatası verdi, ne yapmalıyım?
FTP veya dosya yöneticisiyle .htaccess’teki eklediğiniz php_value satırlarını silin ya da yedek dosyayı geri koyun. Sunucunuz büyük olasılıkla bu yöntemi desteklemiyor; .user.ini veya paneli kullanın.
İlginizi çekebilir
WordPress kritik hata
WordPress bakım modunda kaldı
WordPress yönetici hesabını koruma
Kaynaklar#
• WordPress Developer Resources — wp_max_upload_size()
• PHP Kılavuzu — Description of core php.ini directives (upload_max_filesize, post_max_size, user_ini.cache_ttl)
• GoDaddy Yardım (barındırma örneği) — Increase maximum upload file size in WordPress
