VPS.TC
₺ | $
Sunucu Durumu
Turkey İstanbul, Türkiye
Aktif
USA New York, ABD
Aktif
Sepet Toplamı:
Sepeti Görüntüle
WordPress Dosya Yükleme Limiti Nasıl Artırılır?
CMS

WordPress Dosya Yükleme Limiti Nasıl Artırılır?

Defne avatarı Defne 11 dk okuma 0 Yorumlar
Paylaş:

Hızlı Özet – WordPress Dosya Yükleme Limiti

WordPress dosya yükleme limiti, PHP ve web sunucusu ayarlarının en düşük olanıyla belirlenir. Limit artırılırken her katmanı ayrı kontrol edin.

  • PHP sınırlarını artırın — upload_max_filesize ve post_max_size değerlerini ihtiyaca göre yükseltin.
  • Nginx'i kontrol edin — 413 hatasında client_max_body_size değerini inceleyin.
  • Apache'yi doğrulayın — mod_php kullanıyorsanız .htaccess veya panel ayarlarını kontrol edin.
  • Belleği karıştırmayın — memory_limit dosya boyutundan farklı olarak PHP işleminin RAM sınırıdır.
  • Servisi yenileyin — PHP-FPM, Apache veya Nginx değişiklikten sonra yeniden yüklenmelidir.
  • Alt sınırı bulun — Gerçek yükleme limiti PHP, Nginx, proxy ve panel arasındaki en düşük değerdir.

WordPress dosya yükleme limitini yükseltmek için PHP'de upload_max_filesize ve post_max_size değerlerini, Nginx kullanılıyorsa client_max_body_size ayarını birlikte kontrol edin. Servisleri yeniden yükledikten sonra panelde görünen değeri doğrulayın. 413 hatası sürüyorsa CDN, proxy veya hosting paketinin sınırını inceleyin.

WordPress dosya yükleme limiti neden düşük görünür?

WordPress dosya yükleme limiti tek bir ayardan oluşmaz. PHP içindeki upload_max_filesize ve post_max_size, web sunucusundaki client_max_body_size, WordPress bellek sınırı ve hosting paneli aynı isteğin farklı katmanlarını yönetir. Bu değerlerden biri düşük kaldığında yükleme ekranında en düşük sınır uygulanır.

Hata mesajı da sorunun yerini daraltır. WordPress’in “yüklenen dosya bu site için izin verilen boyutu aşıyor” uyarısı çoğunlukla PHP veya WordPress ayarlarını gösterir. Nginx’in 413 Request Entity Too Large yanıtı ise isteğin PHP’ye ulaşmadan web sunucusunda reddedildiğini anlatır.

🚀 VPS Sunucu ile Hızınızı Artırın!

Yüksek performanslı SSD depolama ve %99.9 uptime garantisi ile projelerinizi hızlandırın.

VPS Sunucu Kirala
Ayar Görevi Kontrol noktası
upload_max_filesize Tek bir dosyanın en yüksek boyutu PHP
post_max_size POST isteğinin toplam boyutu PHP
client_max_body_size Nginx istek gövdesi sınırı Nginx
memory_limit PHP işleminin bellek sınırı PHP ve WordPress

Ne yapılmalı: Önce hatayı ve web isteğinde kullanılan aktif PHP değerlerini tespit edin. Ardından en düşük kalan katmanı yükseltin.

İpucu

İpucu: Değişiklikten önce WordPress panelinde görünen mevcut limiti not edin. Aynı ekranı değişiklikten sonra yenilemek, ayarın web tarafındaki PHP'ye ulaşıp ulaşmadığını hızlıca gösterir.

WordPress dosya yükleme limiti nasıl öğrenilir?

İlk kontrol WordPress yönetim panelindeki Ortam > Yeni Ekle ekranıdır. WordPress burada izin verilen en yüksek dosya boyutunu gösterir. WooCommerce veya bir form eklentisi farklı bir yükleme alanı kullanıyorsa o alanın kendi sınırı da bulunabilir.

SSH erişiminiz varsa komut satırındaki PHP’nin hangi yapılandırma dosyasını kullandığını öğrenin:

☁️ Cloud Sunucu ile Esneklik Kazanın!

Ölçeklenebilir kaynaklar ve anlık yedekleme ile bulutun gücünü deneyimleyin.

Bulut Sunucu Paketleri
php --ini
php -i | grep -E 'upload_max_filesize|post_max_size|memory_limit'

Bu çıktı yalnızca CLI PHP’yi gösterir. PHP-FPM ile çalışan site farklı bir php.ini dosyası kullanabileceği için CLI değerleri tek başına yeterli değildir. Web tarafındaki değeri doğrulamak için geçici bir PHP bilgi dosyası kullanılabilir; kontrol biter bitmez dosyayı silin.

<?php
phpinfo();

Dosyayı örneğin info.php adıyla yayın köküne koyun, tarayıcıdan açın ve Loaded Configuration File satırını kontrol edin. Bu dosya PHP sürümü, modüller ve yapılandırma değerleri hakkında ayrıntı verir. İnternete açık bırakılması, sunucu hakkında gereksiz bilgi sızdırır.

PHP belgelerinde post_max_size değerinin form verileriyle birlikte dosya yüklerini de kapsadığı belirtilir. Tek dosya sınırını 128M yapıp toplam POST sınırını 32M bırakırsanız 128M değeri pratikte kullanılamaz.

Ne yapılmalı: Paneldeki değeri, CLI PHP çıktısını ve web isteğinde kullanılan PHP-FPM sürümünü ayrı ayrı doğrulayın.

php.ini ile limit artırma adımları

VPS veya yönetilen bir Linux sunucusunda kalıcı yöntem, ilgili PHP sürümünün php.ini dosyasını düzenlemektir. Yol dağıtıma ve PHP sürümüne göre değişir. Ubuntu üzerinde PHP 8.2 ve PHP-FPM için yaygın yol şöyledir:

/etc/php/8.2/fpm/php.ini

Dosyada aşağıdaki değerleri sitenin gerçek ihtiyacına göre değiştirin:

file_uploads = On
upload_max_filesize = 128M
post_max_size = 136M
memory_limit = 256M
max_execution_time = 300
max_input_time = 300

post_max_size değerini upload_max_filesize değerinden biraz yüksek tutmak genellikle daha güvenlidir; form alanları da POST gövdesinde yer alır. 128M’lik tek dosya için 136M makul bir başlangıçtır. Aynı formda birden fazla dosya yükleniyorsa toplam boyutu ayrıca hesaplayın.

memory_limit diskteki dosya boyutunu belirlemez. WordPress’in görsel oluşturma, sıkıştırma veya eklenti işlemleri sırasında kullanabileceği PHP belleğini sınırlar. PHP-FPM worker sayısı yüksekse bu değeri gereksiz artırmak toplam RAM tüketimini hızlandırabilir.

Ayar değişikliğinden sonra PHP-FPM’i yeniden yükleyin:

sudo systemctl reload php8.2-fpm
sudo systemctl reload nginx

Dağıtımınızda servis adı farklı olabilir. systemctl status php8.2-fpm ile doğru birimi doğrulayın. Apache mod_php kullanılıyorsa PHP-FPM servisini yeniden yüklemek yerine Apache yapılandırmasını yenilemeniz gerekebilir.

Ne yapılmalı: Değerleri değiştirdikten sonra ilgili PHP-FPM servisini yeniden yükleyin ve WordPress panelinden yeni sınırı tekrar okuyun.

Dikkat

Dikkat: upload_max_filesize değerini artırıp post_max_size değerini daha düşük bırakmayın. PHP toplam POST isteği sınırına takılır ve tek dosya için verdiğiniz yüksek değer kullanılamaz.

Nginx kullanırken 413 hatası nasıl çözülür?

Nginx, PHP’ye ulaşmadan önce isteği reddedebilir. Nginx belgelerinde client_max_body_size için varsayılan değerin 1 MB olduğu belirtilir. Büyük bir tema, eklenti veya medya dosyasında bu değer aşılırsa 413 yanıtı görülebilir.

Site yapılandırmasındaki server bloğuna aşağıdaki satırı ekleyebilirsiniz:

server {
    server_name example.com www.example.com;
    client_max_body_size 128M;

    # Diğer site ayarları
}

Dosya genellikle /etc/nginx/sites-available/example.com altında bulunur ve sites-enabled üzerinden etkinleştirilir. Değişikliği uygulamadan önce sözdizimini kontrol edin:

sudo nginx -t
sudo systemctl reload nginx

nginx -t çıktısında syntax is ok ve test is successful görmeden servisi yeniden başlatmayın. reload, çalışan bağlantıları mümkün olduğunca koruyarak yeni yapılandırmayı yükler.

PHP’de 128M, Nginx’te 64M varsa gerçek üst sınır 64M olur. Tersi durumda PHP isteği kabul etse bile dosya yükleme başlamadan Nginx reddeder. Reverse proxy veya CDN kullanılıyorsa aradaki katmanın kendi sınırını da kontrol edin.

Ne yapılmalı: 413 hatasında önce client_max_body_size değerini, ardından Nginx hata günlüğünü kontrol edin.

Örnek

Örnek senaryo: PHP ve WordPress 128M kabul ediyor, fakat Nginx 20M sınırında kalıyorsa 25 MB dosyada 413 hatası görülür. PHP değerlerini tekrar tekrar değiştirmek yerine client_max_body_size ayarını düzeltmek gerekir.

Apache, .htaccess ve hosting paneli seçenekleri

Apache ve PHP’nin nasıl çalıştığı hosting mimarisine göre değişir. Apache mod_php kullanılan sistemlerde .htaccess içine PHP değerleri eklenebilir:

php_value upload_max_filesize 128M
php_value post_max_size 136M
php_value memory_limit 256M
php_value max_execution_time 300
php_value max_input_time 300

Bu direktifler PHP-FPM veya CGI yapılandırmasında desteklenmeyebilir. Yanlış yerde kullanıldığında 500 Internal Server Error alınabilir. Böyle bir durumda satırları geri alın ve Apache hata günlüğünü inceleyin.

cPanel ve Plesk gibi panellerde PHP sürümü ile upload_max_filesize, post_max_size ve memory_limit değerleri genellikle arayüzden değiştirilebilir. Panelde seçilen PHP sürümünün sitenin gerçekten kullandığı sürüm olduğuna dikkat edin. Hosting paneli hakkında seçim yaparken cPanel ve Plesk Farkı: Hangisini Seçmeli? karşılaştırmasındaki yönetim modeli ayrımı yardımcı olabilir.

Bazı paylaşımlı hosting paketleri bu ayarları kullanıcıya kapatır. php.ini, .user.ini veya .htaccess değişikliği etkisiz kalıyorsa sağlayıcının paket sınırı uygulanıyor olabilir. Bu durumda destek ekibinden izin verilen en yüksek değerleri öğrenin.

.user.ini kullanan PHP kurulumlarında örnek dosya şöyledir:

upload_max_filesize=128M
post_max_size=136M
memory_limit=256M

PHP’nin .user.ini dosyalarını belirli aralıklarla yeniden okuması mümkündür. Değişikliğin hemen görünmemesi normaldir; PHP-FPM önbelleği veya hosting panelinin uygulama katmanı da devrede olabilir.

Bellek sınırı ile yükleme sınırı aynı şey mi?

Hayır. Dosya yükleme limiti, HTTP isteğiyle kabul edilecek boyutu belirler. WordPress bellek sınırı ise PHP’nin çalışma sırasında kullanabileceği RAM miktarıyla ilgilidir. Büyük bir ZIP dosyası çoğunlukla disk alanı ve istek süresi gerektirir. Yüksek çözünürlüklü bir JPEG’i yeniden boyutlandırmak ise daha fazla bellek tüketebilir.

WordPress için wp-config.php dosyasına şu sabitler eklenebilir:

define( 'WP_MEMORY_LIMIT', '256M' );
define( 'WP_MAX_MEMORY_LIMIT', '512M' );

WP_MEMORY_LIMIT normal site işlemlerinde, WP_MAX_MEMORY_LIMIT ise yönetim ekranı ve bazı ağır işlemlerde kullanılır. PHP’nin memory_limit değeri daha düşükse WordPress bu sınırı aşamaz. Yalnızca wp-config.php değiştirerek her bellek hatasını çözemezsiniz.

Allowed memory size exhausted mesajı alıyorsanız bellek kullanımını, PHP-FPM worker sayısını ve eklentileri inceleyin. WordPress belleğiyle ilgili ayrı bir kontrol listesi için WordPress Bellek Sınırı Hatası Nasıl Çözülür? sayfasına bakabilirsiniz.

Ne yapılmalı: Yükleme boyutunu ve PHP belleğini ayrı metrikler olarak değerlendirin; birini yükseltmek diğerini otomatik olarak değiştirmez.

Değişiklik neden etkili olmadı?

En sık neden yanlış PHP sürümünün yapılandırılmasıdır. Sunucuda PHP 8.1 ve 8.2 birlikte kurulu olabilir; Nginx sitesi 8.2-FPM’e bağlıyken 8.1’in php.ini dosyası düzenlenebilir. Site yapılandırmasındaki socket yolunu kontrol edin:

grep -R "fastcgi_pass" /etc/nginx/sites-enabled/
ps aux | grep php-fpm

Bir başka ihtimal, ayarın daha düşük bir katmanda ezilmesidir. Nginx 32M, PHP 128M ise WordPress 32M’den büyük dosyayı alamaz. CDN, reverse proxy, güvenlik duvarı veya hosting paneli de isteği uygulamaya ulaşmadan kesebilir.

Önbellek de kontrol edilmelidir. PHP-FPM yeniden yüklenmemiş, Apache eski worker’larla çalışıyor veya panel değişikliği henüz uygulanmamış olabilir. WordPress’in gösterdiği değeri değişiklikten önce ve sonra not edin; tahmin yerine ölçüm yapın.

Disk alanını da kontrol edin. Büyük dosya için hem geçici yükleme dizininde hem de WordPress’in wp-content/uploads yolunda yer gerekir:

df -h
sudo du -sh /tmp /var/www/example.com/wp-content/uploads

İzin sorunları farklı bir belirti üretir. Web sunucusu kullanıcısının yazma yetkisi yoksa limit artırılmış olsa bile yükleme tamamlanmaz. Sorunu çözmek için dizinleri rastgele chmod 777 yapmak güvenli değildir.

Sahadan not

Bir sunucuda PHP-FPM limitini değiştirdim fakat WordPress paneli eski değeri göstermeye devam etti. Nginx yapılandırmasındaki fastcgi_pass satırının PHP 8.1 socket'ine, düzenlediğim dosyanın ise PHP 8.2-FPM'e ait olduğunu fark ettim; socket yolunu düzelttikten sonra systemctl reload php8.2-fpm ile değeri doğruladım.

Yüksek limit güvenli mi?

128M veya 512M değeri tek başına güvenlik açığı değildir; kaynak tüketimini ve saldırı yüzeyini büyütebilir. WordPress yalnızca izin verilen dosya türlerini kabul etmeli, yönetici hesapları çok faktörlü kimlik doğrulamayla korunmalı ve yükleme dizininde çalıştırılabilir betiklerin yürütülmesi engellenmelidir.

Gereğinden yüksek max_execution_time ve max_input_time değerleri, yavaş bağlantıların PHP worker’larını uzun süre meşgul etmesine yol açabilir. VPS kaynakları sınırlıysa eşzamanlı yüklemeler sırasında CPU, RAM, disk I/O ve PHP-FPM süreçlerini izleyin.

Medya ağırlıklı sitelerde CDN kullanmak dosya yükleme limitini ortadan kaldırmaz; CDN çoğunlukla dağıtımı hızlandırır. İçeriğin uygulamaya yüklenmesi sırasında origin sunucunun PHP ve web sunucusu sınırları geçerliliğini korur. WordPress’in VPS üzerinde kurulumu için VPS’te WordPress Kurulumu: Adım Adım Rehber, Nginx yapılandırması için Ubuntu’da Nginx Kurulumu ve İlk Yapılandırma ilgili altyapı adımlarını açıklar.

Ne yapılmalı: İhtiyaç duyulan en yüksek dosya boyutunu belirleyin, limiti bunun biraz üzerine çıkarın ve büyük yüklemeleri loglarla izleyin.

Limit Artırmadan Önce ve Sonra Kontrol Edin

  • İhtiyacınız olan en büyük dosya boyutunu belirleyin.
  • WordPress panelindeki mevcut yükleme limitini not edin.
  • PHP'nin web tarafında kullandığı php.ini dosyasını bulun.
  • upload_max_filesize ve post_max_size değerlerini birlikte yükseltin.
  • Nginx veya Apache yapılandırmasındaki istek sınırını kontrol edin.
  • PHP-FPM ya da web sunucusunu güvenli biçimde yeniden yükleyin.
  • Yeni değerle küçük ve büyük bir test dosyası yükleyip logları inceleyin.

İhtiyacınız olan en büyük dosya boyutunu ölçerek yalnızca gerekli katmanları değiştirin. Bir sonraki yüklemede panel değerini ve sunucu logunu birlikte kontrol etmek, sınırın nerede kaldığını hızlıca gösterecektir.

VPS paketlerini inceleyin

Sık Sorulan Sorular

WordPress dosya yükleme limiti en fazla kaç MB olmalı?

Sabit bir doğru değer yoktur. Sitenin en büyük tema, eklenti veya medya dosyasını belirleyip bunun biraz üzerine çıkın. 128M birçok medya sitesi için yeterli olabilir; büyük yedek veya video dosyaları için daha yüksek değer gerekebilir. Gereksiz şekilde 1G gibi limitler belirlemek PHP worker kaynak tüketimini artırabilir.

WordPress yükleme limiti artırılmıyorsa ne yapılmalı?

Önce web tarafında kullanılan PHP sürümünü ve php.ini dosyasını doğrulayın. Ardından Nginx'te client_max_body_size, Apache'de ilgili PHP ayarları ve varsa CDN veya reverse proxy sınırını kontrol edin. Hosting paketi kullanıcı değişikliklerini kısıtlıyor olabilir. Panel eski değeri gösteriyorsa PHP-FPM veya Apache yeniden yüklenmemiş olabilir.

413 Request Entity Too Large hatası neden olur?

413 hatası, HTTP isteğinin web sunucusunda tanımlanan gövde boyutunu aşmasıyla oluşur. Nginx kullanıyorsanız server veya location bloğundaki client_max_body_size değerini kontrol edin. PHP upload_max_filesize değeri yüksek olsa bile Nginx daha düşük sınır uyguluyorsa dosya PHP'ye ulaşmadan reddedilir. Değişiklikten sonra nginx -t ile sözdizimini doğrulayın.

upload_max_filesize ile post_max_size arasındaki fark nedir?

upload_max_filesize tek bir dosyanın en yüksek boyutunu belirler. post_max_size ise dosyalar, form alanları ve diğer POST verileri dahil olmak üzere tüm isteğin toplam boyutunu sınırlar. Bu nedenle post_max_size genellikle upload_max_filesize değerinden yüksek tutulur. Bir formda birden fazla dosya yükleniyorsa toplam boyutu ayrıca hesaplayın.

WordPress dosya yükleme limiti .htaccess ile artırılır mı?

Apache mod_php kullanılıyorsa .htaccess içinde php_value direktifleriyle bazı PHP değerleri değiştirilebilir. PHP-FPM, CGI veya hosting tarafından kısıtlanmış sistemlerde bu yöntem çalışmayabilir ve 500 hatasına yol açabilir. Satır eklemeden önce PHP çalışma modelini öğrenin. cPanel gibi panellerde aynı ayarları arayüzden değiştirmek daha güvenli olabilir.

WordPress dosya yükleme limiti ile bellek sınırı aynı mı?

Aynı değildir. Dosya yükleme limiti HTTP isteğinin kabul edilecek boyutunu, memory_limit ise PHP işleminin kullanabileceği RAM miktarını belirler. Büyük bir dosya yüklemek ile o dosyayı yeniden boyutlandırmak farklı kaynaklar tüketebilir. Bellek hatasında PHP loglarını, eklentileri ve PHP-FPM kaynak kullanımını inceleyin; yalnızca yükleme limitini artırmak sorunu çözmez.

Kaynaklar

Defne avatarı
Yazar

Defne

vps.tc blog yazarı. Sistem yönetimi, Linux ve hosting dünyası üzerine yazıyor.