Oynatma Hızı:
PHP Dosya Yükleme Sınırlarını Genişletme: upload_max_filesize Hatası ve 2026 Çözüm Rehberi
WordPress veya özel PHP tabanlı yazılımlarda dosya yüklerken karşılaşılan bu hata, sunucunun kabul edebileceği maksimum dosya boyutunun aşıldığını belirten teknik bir uyarıdır. Sorunu gidermek için sunucu tarafındaki yapılandırma dosyalarında ufak değişiklikler yapmak ve PHP limitlerini güncel medya standartlarına uygun hale getirmek gerekir.
- php.ini Düzenlemesi: upload_max_filesize ve post_max_size değerlerini senkronize şekilde artırın.
- Apache Sunucular: .htaccess dosyasına eklenen özel PHP direktifleri ile limitleri anında yükseltin.
- Nginx Yapılandırması: client_max_body_size parametresini güncelleyerek 413 hata kodlarını engelleyin.
- Panel Kontrolü: cPanel veya Plesk üzerinden PHP Selector kullanarak kod yazmadan limitleri güncelleyin.
- Bellek Yönetimi: Yükleme limitlerini artırırken memory_limit değerini de orantılı şekilde yükseltmeyi unutmayın.
| Yöntem | Dosya Adı | Temel Parametre | Zorluk Seviyesi | Etki Alanı |
|---|---|---|---|---|
| PHP Yapılandırması | php.ini | upload_max_filesize | Orta | Tüm Sunucu |
| Apache Direktifleri | .htaccess | php_value upload_max_filesize | Kolay | Dizin Bazlı |
| WordPress Ayarları | wp-config.php | @ini_set(‘upload_max_size’) | Kolay | Uygulama Bazlı |
| Nginx Ayarları | nginx.conf | client_max_body_size | İleri | Web Sunucusu |
| Hosting Paneli | cPanel/Plesk | PHP Selector / Options | Çok Kolay | Kullanıcı Hesabı |
Hatanın Teknik Kaynağı ve Sunucu Güvenliği İlişkisi
PHP tabanlı web sunucuları, kötü niyetli saldırıları ve kaynak tüketimini önlemek amacıyla varsayılan olarak düşük dosya yükleme limitleriyle yapılandırılır. Çoğu standart hosting paketinde bu limit 2MB gibi günümüz medya dosyaları için oldukça yetersiz bir seviyede bırakılmaktadır. 2026 yılı standartlarında yüksek çözünürlüklü bir görselin veya kısa bir video dosyasının bu sınırı aşması kaçınılmazdır.
Sunucu yöneticileri, bellek sızıntılarını ve sunucunun kilitlenmesini önlemek için bu sınırları bir güvenlik bariyeri olarak kullanır. Eğer limitler çok yüksek tutulursa, aynı anda yapılan çok sayıda büyük dosya yüklemesi sunucunun RAM kapasitesini tüketerek tüm web sitelerinin çökmesine neden olabilir. Bu nedenle artırım yaparken sunucu kaynaklarını göz önünde bulundurmak şarttır.
Hata mesajı doğrudan PHP motorundan gelir ve “upload_max_filesize” yönergesinin aşıldığını belirtir. Bu durum, dosyanın sunucuya ulaştığını ancak PHP’nin bu dosyayı işleme almayı reddettiğini gösterir. Sorunun çözümü için dosyanın geçeceği tüm kapıların (PHP, Web Sunucusu ve Uygulama) boyut limitlerinin genişletilmesi gerekir.
- Sunucu kaynaklarının korunması için konulan varsayılan limitler.
- Paylaşımlı hosting planlarındaki katı yapılandırma politikaları.
- PHP sürüm güncellemeleri sonrası sıfırlanan yapılandırma dosyaları.
Bellek Limitlerinin Etkisi
Dosya yükleme işlemi sadece dosya boyutuyla sınırlı değildir; aynı zamanda bu dosyanın sunucu belleğinde (RAM) işlenmesi gerekir. Eğer memory_limit değeriniz, yüklemeye çalıştığınız dosyanın boyutundan düşükse, yükleme işlemi başarıyla tamamlansa bile dosya işlenirken “Fatal Error” hataları alabilirsiniz.
- Memory_limit değerinin her zaman dosya boyutundan yüksek tutulması.
- PHP betiklerinin çalışma süresinin (max_execution_time) büyük dosyalar için artırılması.
- Dosya giriş süresinin (max_input_time) yükleme hızına göre optimize edilmesi.
php.ini Dosyası ile Kesin Çözüm Yöntemi
Sunucunuzun kök dizininde veya PHP kurulum klasöründe bulunan php.ini dosyası, tüm PHP davranışlarını belirleyen ana kontrol panelidir. Bu dosyaya FTP veya SSH üzerinden erişiminiz varsa, limitleri kalıcı olarak değiştirmenin en profesyonel yolu budur. Değişiklik yapıldıktan sonra sunucunun (Apache veya Nginx) yeniden başlatılması gerekebilir.
Dosya içinde arama yaparak ilgili satırları bulmalı ve değerleri ihtiyacınıza göre güncellemelisiniz. Örneğin, 64MB boyutunda bir dosya yüklemek istiyorsanız, bu değeri 128MB olarak ayarlamak sistemin rahat çalışmasını sağlar. Unutulmamalıdır ki, post_max_size değeri mutlaka upload_max_filesize değerinden büyük veya ona eşit olmalıdır.
Birçok paylaşımlı hosting sağlayıcısı, ana php.ini dosyasına erişime izin vermez. Ancak, sitenizin ana dizinine (public_html) kendiniz bir php.ini dosyası oluşturarak bu ayarları ezmeyi deneyebilirsiniz. Bazı sunucu yapılandırmaları bu yerel dosyayı otomatik olarak tanır ve ayarları uygular.
- upload_max_filesize = 128M
- post_max_size = 130M
- memory_limit = 256M
Giriş Sürelerinin Optimize Edilmesi
Büyük dosyalar yüklenirken bağlantı hızına bağlı olarak işlem uzun sürebilir. Eğer PHP’nin varsayılan 30 saniyelik zaman aşımı süresi dolarsa, dosya yükleme işlemi yarıda kesilir. Bu durumu önlemek için zaman aşımı limitlerini de php.ini içerisinden yükseltmelisiniz.
- max_execution_time = 300 (Saniye cinsinden).
- max_input_time = 300 (Veri girişi için tanınan süre).
- Veri paketlerinin işlenmesi için yeterli tampon bellek ayrılması.
.htaccess Dosyası ile Limit Artırımı
Eğer sunucunuz Apache üzerinde çalışıyorsa ve php.ini dosyasına erişiminiz kısıtlıysa, .htaccess dosyası hayat kurtarıcı olabilir. Bu dosya, sunucuya dizin bazlı talimatlar göndererek PHP ayarlarını geçici olarak değiştirmenize olanak tanır. Genellikle WordPress sitelerinin ana dizininde gizli bir dosya olarak bulunur.
.htaccess dosyasına ekleyeceğiniz “php_value” komutları, sunucunun PHP yapılandırmasını o web sitesi özelinde güncellemesini sağlar. Bu yöntem oldukça etkilidir ancak yanlış bir karakter kullanımı sitenizin “500 Internal Server Error” hatası vermesine neden olabilir. Bu yüzden değişiklik yapmadan önce mutlaka dosyanın yedeğini almalısınız.
2026 yılındaki güncel Apache sürümleri, bu komutları hala desteklemektedir ancak bazı sunucularda “AllowOverride” ayarı kapalıysa bu yöntem çalışmayabilir. Eğer eklediğiniz kodlar bir değişiklik yapmıyorsa, sunucu yöneticinizin bu özelliği aktif etmesi gerekir.
- php_value upload_max_filesize 128M
- php_value post_max_size 128M
- php_value memory_limit 256M
Hatalı Yapılandırmadan Kaçınma
.htaccess dosyasına kod eklerken, kodların “ veya “ blokları arasına yazılması tavsiye edilir. Bu, sunucu PHP sürümü değiştiğinde veya modül devre dışı kaldığında sitenizin çökmesini engeller.
- Kodları dosyanın en üstüne veya en altına ekleyin.
- Büyük harf ve küçük harf duyarlılığına dikkat edin (M harfi Megabayt’ı temsil eder).
- Değişiklik sonrası tarayıcı önbelleğini temizleyerek test yapın.
WordPress İçin wp-config.php ve Tema Fonksiyonları
WordPress kullanıcıları için dosya yükleme limitlerini aşmanın bir diğer yolu da uygulamanın kendi yapılandırma dosyalarını kullanmaktır. wp-config.php dosyası, WordPress veritabanı bağlantılarının yanı sıra PHP limitlerini belirleyen `ini_set` fonksiyonlarını da barındırabilir. Bu yöntem, sunucu seviyesindeki kısıtlamaları aşamasa da, yazılım seviyesindeki darboğazları çözer.
Ayrıca, kullandığınız temanın `functions.php` dosyasına da benzer kodlar eklenebilir. Ancak bu yöntem genellikle kalıcı bir çözüm değildir çünkü tema güncellendiğinde bu kodlar silinebilir. Yine de acil durumlarda hızlı bir çözüm sunar. WordPress ekosisteminde bu limitler genellikle medya kütüphanesine dosya yüklerken karşımıza çıkar.
Eğer bu yöntemlerden hiçbiri işe yaramıyorsa, sunucunuz PHP ayarlarının çalışma zamanında (runtime) değiştirilmesine izin vermiyor demektir. Bu durumda hosting sağlayıcınızla iletişime geçmek tek seçenek haline gelir.
- @ini_set( ‘upload_max_size’ , ‘128M’ );
- @ini_set( ‘post_max_size’, ‘128M’ );
- @ini_set( ‘max_execution_time’, ‘300’ );
WordPress Medya Kütüphanesi Kontrolü
WordPress panelinde “Ortam -> Yeni Ekle” kısmına gittiğinizde alt tarafta “Maksimum yükleme dosya boyutu” bilgisini görebilirsiniz. Yaptığınız değişikliklerin başarılı olup olmadığını buradan anlık olarak takip edebilirsiniz.
- Değişiklik sonrası paneldeki rakamın güncellendiğini teyit edin.
- Eklentilerin bu limitleri override edip etmediğini kontrol edin.
- Gerekirse “All-in-One WP Migration” gibi eklentilerin kendi limit ayarlarını inceleyin.
En İyi 5 Dosya Yükleme Limit Artırma Eklentisi
Kodlarla uğraşmak istemeyen veya FTP erişimi olmayan kullanıcılar için WordPress eklenti dizini birçok pratik çözüm sunar. Bu eklentiler, yukarıda bahsedilen kod değişikliklerini sizin yerinize güvenli bir şekilde yapar ve kullanıcı dostu bir arayüz sağlar.
Eklenti seçerken güncellik durumuna ve kullanıcı yorumlarına dikkat etmek önemlidir. 2026 yılı itibarıyla en güvenilir ve performanslı çalışan eklentiler şunlardır:
- Increase Maximum Upload File Size: Tek bir kutucuğa istediğiniz boyutu yazarak limitleri günceller.
- WP Maximum Upload File Size: Sunucu limitlerini tespit eder ve mümkün olan en yüksek değere yükseltmenize yardımcı olur.
- Big File Uploads: Özellikle büyük video ve arşiv dosyaları için optimize edilmiş bir yapı sunar.
- Tuxedo Big File Uploads: WordPress’in varsayılan yükleyicisini modifiye ederek daha esnek limitler tanımlar.
- All-in-One WP Migration: Site taşıma işlemleri için kendi özel dosya yükleme motorunu ve limit artırma seçeneğini sunar.
🟢Resmi Kaynak: WordPress Eklenti Dizini
Nginx Sunucularda client_max_body_size Ayarı
Eğer web siteniz Apache yerine Nginx üzerinde koşuyorsa, PHP ayarlarını ne kadar artırırsanız artırın “413 Request Entity Too Large” hatasıyla karşılaşmaya devam edebilirsiniz. Nginx, güvenlik gereği istemciden gelen veri paketlerinin boyutunu sıkı bir şekilde denetler ve varsayılan limit genellikle 1MB’dır.
Bu sorunu çözmek için Nginx yapılandırma dosyasında (nginx.conf) veya sitenize özel olan server blok dosyasında `client_max_body_size` parametresini güncellemeniz gerekir. Bu ayar, doğrudan HTTP isteğinin gövde boyutunu kontrol eder.
Değişiklik yapıldıktan sonra Nginx servisinin yeniden yüklenmesi (reload) şarttır. Bu işlem genellikle SSH üzerinden root yetkisi gerektirir, bu yüzden paylaşımlı hosting kullanıcıları bu ayarı kendileri yapamayabilir.
- http, server veya location blokları içine ekleme yapın.
- client_max_body_size 128M; satırını ekleyin veya güncelleyin.
- `sudo nginx -t` komutu ile yapılandırmayı test edin ve `sudo systemctl reload nginx` ile aktif edin.
Nginx ve PHP-FPM İlişkisi
Nginx sunucularda PHP işlemleri genellikle PHP-FPM üzerinden yürütülür. Bu nedenle hem Nginx’in `client_max_body_size` ayarı hem de PHP-FPM’in `php.ini` içindeki `upload_max_filesize` ayarı birbiriyle uyumlu olmalıdır.
- Nginx sınırı, PHP sınırından küçük olmamalıdır.
- Hata loglarını kontrol ederek darboğazın Nginx mi yoksa PHP mi olduğunu tespit edin.
- FastCGI tampon bellek ayarlarını büyük veri transferleri için optimize edin.
Hosting Kontrol Panelleri (cPanel ve Plesk) Kullanımı
Modern hosting panelleri, karmaşık konfigürasyon dosyalarıyla uğraşmak yerine görsel bir arayüz üzerinden PHP ayarlarını yönetmenize imkan tanır. cPanel kullanan kullanıcılar “Select PHP Version” veya “MultiPHP INI Editor” araçlarını kullanarak saniyeler içinde limit artırımı yapabilirler.
Plesk panelde ise “PHP Settings” sekmesi altında tüm direktifler liste halinde sunulur. Buradan istediğiniz değeri seçip “Apply” butonuna basmanız yeterlidir. Bu yöntem, sunucu tarafındaki yetki problemlerini otomatik olarak aştığı için en güvenilir yoldur.
Eğer panelinizde bu seçenekleri göremiyorsanız, hosting sağlayıcınız bu yetkiyi kısıtlamış olabilir. Bu durumda bir destek bileti açarak “upload_max_filesize ve post_max_size değerlerinin 128MB’a yükseltilmesini istiyorum” şeklinde bir talepte bulunabilirsiniz.
- cPanel -> Yazılım -> PHP Sürümü Seçin -> Seçenekler yolunu izleyin.
- Plesk -> Alan Adları -> PHP Ayarları yolunu izleyin.
- Değerleri değiştirdikten sonra “Kaydet” butonuna basmayı unutmayın.
🟢Resmi Kaynak: MDN Web Docs – 413 Payload Too Large
💡 Analiz: 2026 yılı itibarıyla PHP 8.4+ sürümlerinde varsayılan bellek yönetimi daha verimli hale gelse de, sunucu güvenliği protokolleri gereği "upload_max_filesize" limiti hala manuel müdahale gerektiren en yaygın yapılandırma engelidir.
Sıkça Sorulan Sorular
1. upload_max_filesize ve post_max_size arasındaki fark nedir?
upload_max_filesize tek bir dosyanın maksimum boyutunu belirlerken, post_max_size bir HTTP POST isteğiyle gönderilen toplam veri miktarını sınırlar. İkinci değerin, yüklenen dosya artı form verilerini kapsaması için her zaman daha büyük olması önerilir.
2. Yaptığım değişiklikler neden geçerli olmuyor?
Sunucunuzda PHP-FPM veya bir önbellekleme mekanizması (Varnish, Redis) aktifse, servislerin yeniden başlatılması gerekebilir. Ayrıca, paylaşımlı hostinglerde sağlayıcının ana yapılandırması sizin yerel ayarlarınızı geçersiz kılıyor olabilir.
3. Bu limiti artırmak sitemi yavaşlatır mı?
Sadece limiti artırmak site hızını etkilemez ancak aynı anda çok sayıda büyük dosya yüklenirse sunucu kaynakları (CPU/RAM) zorlanabilir. Bu durum, özellikle düşük donanımlı sunucularda geçici yavaşlamalara yol açabilir.
4. Güvenli bir limit değeri ne olmalıdır?
Genel kullanım için 64MB veya 128MB oldukça yeterlidir. Ancak video odaklı bir siteniz varsa bu değeri 512MB veya daha üzerine çıkarmanız gerekebilir; bu durumda sunucu güvenliğini ekstra önlemlerle (WAF gibi) desteklemelisiniz.
5. Hata hala devam ediyorsa ne yapmalıyım?
Eğer tüm kod değişikliklerine rağmen hata alıyorsanız, sorun web sunucusu (Nginx/Apache) seviyesindeki bir kısıtlamadan kaynaklanıyor olabilir. Hosting firmanıza danışarak sunucu loglarının incelenmesini talep etmeniz en doğru adımdır.
💡 Özetle
"Yüklenen Dosya php.ini İçindeki Upload_max_filesize Yönergesini Aşıyor Hatası", PHP yapılandırmasındaki boyut limitlerinin güncellenmesiyle kolayca çözülebilen teknik bir kısıtlamadır. php.ini, .htaccess veya hosting paneli üzerinden yapılacak doğru müdahalelerle web sitenizin dosya yükleme kapasitesini 2026 standartlarına uygun hale getirebilirsiniz.
AI-Powered Analysis by MeoMan Bot


