Puan
18
Çözümler
0
- Katılım
- 3 Kas 2025
- Mesajlar
- 99
- Tepkime puanı
- 0
WordPress Dosya Yükleme Limiti Nasıl Artırılır? PHP, cPanel ve Sunucu Ayarları
WordPress’e görsel, video veya tema dosyası yüklerken “Dosya izin verilen boyutu aşıyor” uyarısıyla karşılaşabilirsiniz. Dosya bilgisayarınızda sorunsuz açılır, fakat WordPress yüklemeyi kabul etmez.Bu sorunun çözümü genellikle sunucudaki PHP ayarlarını düzenlemektir. Ancak yükleme sınırı yalnızca PHP’den oluşmaz. WordPress ağ ayarları, kullanılan eklenti, web sunucusu veya aradaki bir proxy hizmeti de dosyayı engelleyebilir.
Bu yüzden önce hangi sınırın devreye girdiğini belirlemek, ardından ilgili ayarı değiştirmek gerekir.
WordPress Yükleme Limiti Nereden Gelir?
WordPress panelinde Medya → Yeni Ekle bölümünü açtığınızda izin verilen maksimum dosya boyutunu görebilirsiniz.WordPress, temel hesaplamada PHP’nin
upload_max_filesize ve post_max_size değerlerinden küçük olanını kullanır. Eklentiler ve WordPress filtreleri bu değeri ayrıca değiştirebilir.Örneğin:
Kod:
upload_max_filesize = 128M
post_max_size = 32M
Bazı sitelerde görülen 2 MB değeri, PHP’nin varsayılan yükleme ayarından kaynaklanabilir. Bütün WordPress kurulumlarında geçerli, sabit bir 2 MB sınırı bulunmaz.
Hangi PHP Ayarı Neyi Kontrol Eder?
| Ayar | Görevi |
|---|---|
upload_max_filesize | Tek bir dosyanın izin verilen maksimum boyutunu belirler |
post_max_size | Dosyalar ve form alanları dahil, POST isteğinin toplam boyutunu sınırlar |
memory_limit | PHP betiğinin kullanabileceği belleği sınırlar |
max_input_time | PHP’nin giriş verilerini alma ve işleme süresini sınırlar |
max_execution_time | PHP betiğinin çalışma süresini sınırlar |
Dosyanın yanında form bilgileri de gönderildiği için
post_max_size değerini, hedef dosya boyutundan daha yüksek tutun. Aynı istekte birden fazla dosya gönderiliyorsa toplam boyutu hesaba katın.128 MB’a kadar dosya yüklemek için örnek bir yapılandırma şöyle olabilir:
Kod:
upload_max_filesize = 128M
post_max_size = 192M
memory_limit = 256M
Bellek limiti ile dosya boyutu aynı şey değildir. Yüklenen dosyanın tamamının mutlaka RAM’de tutulması gerekmez. Buna karşılık sıkıştırılmış bir görseli açmak, küçültmek ve farklı boyutlarda üretmek, dosyanın disk boyutundan çok daha fazla bellek isteyebilir.
Önce Hosting Panelindeki PHP Ayarlarını Kullanın
Hosting paneliniz ilgili ayarları sunuyorsa işe buradan başlayın. Dosya düzenlemek yerine doğru alan adına ait yapılandırmayı değiştirmek daha kolaydır.cPanel’de yükleme limitini artırma
- cPanel’e giriş yapın.
- Yazılım → MultiPHP INI Editor bölümünü açın.
- Ayarlarını değiştireceğiniz alan adını seçin.
upload_max_filesizedeğerini ihtiyacınıza göre yükseltin.post_max_sizedeğerini buna uygun düzenleyin.- Dosya yükleme özelliğinin, yani
file_uploadsayarının açık olduğunu kontrol edin. - Değişiklikleri kaydedin.
Bazı hostinglerde PHP ayarları farklı bir seçici üzerinden yönetilir. Önemli olan, sitenin gerçekten kullandığı PHP sürümünün ve çalıştırıcısının ayarlarını değiştirmektir.
.user.ini ile Dosya Yükleme Sınırını Değiştirme
PHP-FPM gibi CGI/FastCGI tabanlı yapılarda, sağlayıcınız izin veriyorsa .user.ini dosyası kullanılabilir.Sitenin belge kökünde mevcut dosyayı kontrol edin. Dosya yoksa oluşturabilir, varsa ilgili satırları düzenleyebilirsiniz:
Kod:
upload_max_filesize = 128M
post_max_size = 192M
PHP’nin standart
.user.ini desteği CGI/FastCGI çalıştırıcıları içindir. Sunucu yöneticisi bu özelliği kapatmış veya farklı dosya adı belirlemiş olabilir.Değişikliğin hemen görünmemesi normaldir. Dosyanın yeniden okunma aralığı varsayılan olarak 300 saniyedir. Birkaç dakika bekleyip yeniden kontrol edin.
Aynı ayarları farklı klasörlerde tekrar tanımlayan dosyalar varsa hangisinin etkili olduğunu da inceleyin.
php.ini Düzenlemek Ne Zaman İşe Yarar?
Sunucu yönetim yetkiniz varsa ilgili PHP kurulumunun php.ini dosyasını düzenleyebilirsiniz:
Kod:
upload_max_filesize = 128M
post_max_size = 192M
php.ini dosyası eklemek, PHP’nin onu mutlaka okuyacağı anlamına gelmez. Bu davranış hosting yapılandırmasına bağlıdır.Doğru PHP sürümünün ve web isteğini işleyen servisin yapılandırmasını değiştirdiğinizden emin olun. Terminalde kullanılan PHP ile sitenin kullandığı PHP farklı olabilir.
Ana yapılandırmada yapılan değişiklikler için ilgili servisin yeniden yüklenmesi veya yeniden başlatılması gerekebilir. Paylaşımlı hostingde bu işlemi sağlayıcınız yönetir.
.htaccess Yöntemi Her Sunucuda Çalışır mı?
Hayır. Sunucunun Apache kullanması, tek başına php_value satırlarının çalışacağını göstermez. PHP’nin nasıl çalıştırıldığı da önemlidir.Desteklenen bir yapılandırmada şu satırlar kullanılabilir:
Kod:
php_value upload_max_filesize 128M
php_value post_max_size 192M
Dosyayı değiştirmeden önce yedeğini alın. Eklediğiniz satırları WordPress’in otomatik yönettiği
# BEGIN WordPress ve # END WordPress bloğunun dışında tutun.İşlemden sonra 500 Internal Server Error oluşursa eklediğiniz satırları kaldırın. Sunucunuz bu yönergeleri desteklemiyor olabilir. Nginx ise
.htaccess dosyasını kullanmaz.wp-config.php Yükleme Limitini Artırır mı?
wp-config.php içindeki WordPress bellek sabitleri, dosya yükleme boyutunu doğrudan değiştirmez.Örneğin:
define( 'WP_MEMORY_LIMIT', '256M' );Bu tanım, WordPress’in PHP bellek limitini yükseltmeye çalışmasında kullanılabilir. Etkisi, mevcut PHP ayarlarına ve çalışma zamanında değişikliğe izin verilip verilmediğine bağlıdır. Sunucunun kaynak sınırlarını ortadan kaldırmaz.
Tanımı kullanacaksanız mevcut satırı kontrol edin; aynı sabiti ikinci kez eklemeyin. Kod, WordPress’i yükleyen
wp-settings.php satırından önce bulunmalıdır.upload_max_filesize nedeniyle reddedilen bir dosyada yalnızca bu bellek tanımını eklemek çözüm sağlamaz.functions.php İçindeki ini_set() Kodları Neden Çözüm Olmaz?
Bazı rehberlerde yükleme sınırını tema dosyasına eklenen kodlarla artırmanız önerilir.Ancak
upload_max_filesize ve post_max_size, normal PHP betiği çalışırken ini_set() ile değiştirilebilen ayarlardan değildir. Bu nedenle functions.php içine eklenen satırlar PHP’nin bu sınırlarını yükseltmez.Ayrıca
upload_max_size doğru yönerge adı değildir; doğru isim upload_max_filesize şeklindedir.WordPress’te görünen limiti bir filtreyle yükseltmek de sunucunun gerçek sınırını aşmanızı sağlamaz. Ekranda daha büyük sayı görünmesi, dosyanın kabul edileceği anlamına gelmez.
PHP Limiti Yükseldiği Hâlde Yükleme Başarısızsa
Sorun başka bir katmanda olabilir.Nginx istek boyutunu sınırlandırıyor olabilir
Nginx’teclient_max_body_size, gelen isteğin boyutunu sınırlar. İstek bu sınırı aşarsa PHP’ye ulaşmadan 413 hatası dönebilir.Sunucu yöneticisi ilgili site yapılandırmasında sınırı düzenleyebilir. Örneğin:
client_max_body_size 192M;Bu değer toplam istek boyutuna göre seçilmeli ve doğru yapılandırma bölümüne uygulanmalıdır.
Cloudflare veya başka bir proxy sınırı devrede olabilir
Proxy üzerinden geçen isteklerde hizmetin kendi yükleme sınırı bulunabilir. PHP ayarını artırmak bu sınırı değiştirmez. Cloudflare kullanıyorsanız planınızı ve alan adına uygulanan maksimum yükleme ayarını kontrol edin.WordPress Multisite daha düşük bir değer uyguluyor olabilir
Multisite ağlarında dosya boyutu ve siteye ayrılan yükleme alanı ayrıca sınırlandırılabilir. PHP yüksek değere izin verse bile ağ ayarı veya kalan kota yüklemeyi engelleyebilir.Dosya alınıyor fakat işlenemiyor olabilir
Yüklemenin tamamlanıp ardından hata vermesi; bellek, süre, geçici klasör, disk kotası veya dosya izinleriyle ilgili olabilir.max_execution_time, dosya yüklemesinin bütün aşamalarını kapsayan tek bir sayaç değildir. Giriş verisinin alınması ve web sunucusunun bekleme süresi için farklı sınırlar bulunabilir. Bu nedenle bütün süreleri rastgele 300 saniyeye yükseltmek yerine hata kaydını inceleyin.Yeni Limiti Nasıl Kontrol Edebilirsiniz?
Değişiklikten sonra:- Medya → Yeni Ekle ekranındaki maksimum boyutu kontrol edin.
- Araçlar → Site Sağlığı → Bilgi → Sunucu bölümündeki PHP değerlerini inceleyin.
- Yeni sınırın altında kalan, desteklenen türde bir dosya yükleyin.
- Dosyanın yalnızca aktarılmasını değil, WordPress tarafından işlenmesini de kontrol edin.
