Teknoloji

WordPress ve Laravel İçin php.ini Ayarları: En Mantıklı memory_limit, max_execution_time ve upload_max_filesize Değerleri

php.ini Nedir, WordPress ve Laravel’i Neden Bu Kadar Etkiler?

WordPress ve Laravel projelerinde performans, stabilite ve hata oranı büyük ölçüde PHP yapılandırmasına bağlıdır. Bu yapılandırmanın kalbi de php.ini dosyasıdır. memory_limit, max_execution_time ve upload_max_filesize gibi birkaç kritik ayarı doğru yapmadığınızda, siteniz çok iyi bir sunucuda bile beyaz ekran hataları, zaman aşımı sorunları ve başarısız dosya yüklemeleriyle uğraşabilir.

DCHost altyapısında her gün gördüğümüz tipik senaryo şu: Geliştirici veya ajans tarafı kodu gayet temiz yazmış, veritabanı fena değil, ama PHP tarafında 64M memory_limit ve 30 saniyelik max_execution_time ile WooCommerce mağazası veya yoğun bir Laravel paneli koşmaya çalışıyor. Sonuç; özellikle yoğun saatlerde 500 hataları, eksik gelen sayfalar ve kopan AJAX istekleri.

Bu yazıda, özellikle WordPress (blog, kurumsal site, WooCommerce, sayfa oluşturucular) ve Laravel (API, yönetim paneli, SaaS, queue işçileri) projeleri için php.ini tarafında en kritik üç ayarı detaylı olarak ele alacağız:

  • memory_limit: Her bir PHP sürecinin kullanabileceği maksimum RAM
  • max_execution_time: Bir PHP isteğinin en fazla kaç saniye çalışabileceği
  • upload_max_filesize (ve post_max_size): Kullanıcıların yükleyebileceği maksimum dosya boyutu

Genel PHP ayarlarıyla ilgili daha temel bir çerçeveye ihtiyaç duyuyorsanız, önce PHP ayarlarını doğru yapmak üzerine yazdığımız rehbere göz atıp, ardından bu makaledeki WordPress ve Laravel odaklı detaylara dalmanız iyi bir yol olur.

WordPress ve Laravel İçin Kaynak Planlama Mantığını Kurmak

php.ini değerlerini ezbere rakamlarla değil, arkasındaki kaynak planlama mantığını anlayarak ayarlamak çok daha sağlıklı. Çünkü memory_limit sadece tek başına bir sayı değildir; sunucunuzun toplam RAM miktarı, PHP-FPM havuzu, aynı anda kaç sürecin çalıştığı ve veritabanı/önbellek sunucularının RAM kullanımıyla birlikte ele alınmalıdır.

DCHost üzerinde gördüğümüz projelerde kabaca şu tablo oluşuyor:

  • Küçük WordPress blogları ve kurumsal siteler: 1–2 vCPU, 2–4 GB RAM
  • WooCommerce ve yoğun içerikli WordPress siteleri: 2–4 vCPU, 4–8 GB RAM
  • Orta ölçekli Laravel SaaS / API projeleri: 4+ vCPU, 8+ GB RAM

CPU ve RAM boyutlamasını daha derinlemesine anlamak isterseniz, WordPress blog, WooCommerce ve SaaS için CPU ve RAM planlama rehberimizi mutlaka okumanızı öneririz. Oradaki kapasite mantığı, burada seçeceğiniz php.ini değerleriyle birebir bağlantılıdır.

Ayrıca PHP işlemlerinin nasıl havuzlandığı ve eşzamanlı süreç sayısının nasıl hesaplanacağı konusunda WordPress ve WooCommerce için PHP-FPM ayarları rehberimiz size iyi bir temel sağlar. Şimdi tek tek ayarlara inelim.

memory_limit: Her PHP Sürecine Ne Kadar RAM Vermelisiniz?

memory_limit, bir PHP sürecinin kullanabileceği maksimum RAM miktarını belirler. Çok düşük ayarlarsanız “Allowed memory size of XXX bytes exhausted” hataları ve beyaz ekranlarla uğraşırsınız. Çok yüksek ayarlarsanız bu sefer de birkaç ağır istek tüm sunucu RAM’ini çekip diğer servisleri (MySQL, Redis, web sunucusu) çökertme riskini artırır.

WordPress İçin Önerilen memory_limit Değerleri

WordPress tarafında eklentiler, tema ve sayfa oluşturucular hafızayı hızla tüketebilir. Özellikle WooCommerce, Elementor, Divi, görsel sıkıştırma ve yedekleme eklentileri bellek kullanımını ciddi artırır. DCHost üzerinde gördüğümüz gerçek senaryolara göre mantıklı aralıklar şöyle:

  • Küçük blog / basit kurumsal site (hafif tema, az eklenti): 128M
  • Orta ölçekli WordPress (standart tema, 15–25 eklenti): 256M
  • WooCommerce mağazası (ortalama trafik, 30+ eklenti, sayfa oluşturucu kullanımı): 256M – 512M
  • Ağır WooCommerce + sayfa oluşturucu + çok dilli yapı: 512M – 768M

Burada dikkat etmeniz gereken nokta şu: memory_limit, her bir PHP süreci için geçerlidir. Örneğin:

  • Sunucunuzda 4 GB RAM varsa,
  • PHP-FPM için eşzamanlı 20 child sürecine izin verdiyseniz,
  • memory_limit’i 512M yaparsanız teorik maksimum PHP bellek kullanımı 20 × 512M = 10 GB olur (yani pratikte mümkün değil, sunucu RAM’inizi hızla tüketecektir).

Bu yüzden memory_limit’i belirlerken mutlaka PHP-FPM havuz ayarlarına da bakmalısınız. Bu konuyu detaylı anlattığımız Laravel prod ortam optimizasyonu rehberimizde PHP-FPM ve bellek ilişkisini Laravel örneği üzerinden ama WordPress’e de uyarlanabilir şekilde anlattık.

Laravel İçin Önerilen memory_limit Değerleri

Laravel tarafında durum biraz farklıdır; çünkü Laravel projeleri genellikle:

  • Queue işçileri (queue workers)
  • Horizon, Octane, scheduler
  • Ağır raporlama / export işleri

gibi arka plan süreçleriyle birlikte çalışır. Önerdiğimiz başlangıç değerleri:

  • Küçük/orta ölçekli API veya admin panel: 256M
  • Orta ölçekli SaaS / çok tenant’lı panel: 256M – 512M
  • Ağır raporlama, çok büyük koleksiyon işleme, PDF/export ağırlıklı işler: web için 256M – 512M, CLI ve queue işçileri için 512M mantıklı bir başlangıçtır.

Laravel’de asıl kritik nokta, uzun yaşayan queue işçilerinin üzerindeki bellek sızıntılarını fark etmenizdir. Horizon veya Supervisor ile çalışan işçiler uzun süre restart edilmezse memory_limit’i düşük tutmak, sızıntıyı daha erken görmenize yardımcı olur. Örneğin:

  • Web istekleri: memory_limit = 256M
  • Queue işçileri (CLI): memory_limit = 512M, ama işçi başına iş sayısını sınırlayarak (örneğin 1000 işte bir restart) bellek tüketimini kontrol altında tutmak.

memory_limit Değerini Hesaplama Mantığı

Pratik bir yaklaşım olarak şu formülü kullanabilirsiniz:

  • Sunucu toplam RAM’inin en fazla %40–50’sini PHP’ye ayırın (geri kalanı MySQL, Redis, sistem ve disk cache için kalsın).
  • PHP-FPM için beklediğiniz eşzamanlı child sayısını (pm.max_children) belirleyin.
  • PHP için ayırdığınız toplam RAM / child sayısı ≈ güvenli memory_limit başlangıç değeri.

Örneğin:

  • 8 GB RAM’li bir VPS’te 4 GB’ı PHP için ayırıyorsunuz.
  • pm.max_children = 20 ise, 4 GB / 20 ≈ 200 MB civarı.
  • Buradan yola çıkarak 256M mantıklı bir başlangıç, yoğun WooCommerce ise 20 child yerine 15 child ve 256–384M aralığında bir değer düşünebilirsiniz.

memory_limit Nasıl Değiştirilir?

Bulunduğunuz ortama göre farklı yöntemler vardır:

  • Paylaşımlı hosting: cPanel/DirectAdmin PHP Selector veya benzeri arayüzden memory_limit ayarı; bazı ortamlarda .user.ini veya php.ini ile.
  • VPS / dedicated: Global /etc/php/X.Y/fpm/php.ini ve .../cli/php.ini dosyalarında; ayrıca havuz bazlı ayarlar için www.conf veya siteye özel pool dosyaları.
  • .htaccess (Apache): php_value memory_limit 256M (mod_php kullanılan nadir ortamlarda).

max_execution_time: Zaman Aşımı Ayarını Gerçekçi Tutmak

max_execution_time, bir PHP betiğinin ne kadar süre çalışabileceğini saniye cinsinden belirler. Web istekleri sonsuza kadar sürmemelidir; aksi halde hem kullanıcı deneyimi kötüleşir, hem de kaynak tüketimi kontrolden çıkar.

WordPress İçin max_execution_time Önerileri

WordPress’te yavaş çalışan işlemler genellikle şuralarda karşımıza çıkar:

  • Büyük eklenti/tema güncellemeleri
  • Toplu içe/dışa aktarma (import/export) işlemleri
  • Yedek alma veya büyük görselleri işleme

Normal sayfa görüntüleme istekleri çoğu zaman 1 saniyenin altında bitmelidir. Kullanıcıya cevap veren HTTP istekleri için 60 saniyeden uzun süreler çoğu zaman gereksizdir. DCHost tarafında gördüğümüz sağlıklı aralıklar:

  • Standart WordPress site: 60 saniye
  • WooCommerce + ağır sayfa oluşturucu: 60–90 saniye
  • Nadiren ihtiyaç duyulan büyük import/export scriptleri (CLI veya özel admin sayfası): 120–300 saniye

Önemli bir nokta: Uzun sürecek işleri mutlaka gerçek cron ve/veya CLI komutlarıyla çalıştırmaya çalışın. Yönetim paneli üzerinden tek HTTP isteği içinde çok büyük iş yapmak yerine, işi parçalayıp arka planda çalışan bir job yapısı kurmak her zaman daha stabil ve güvenlidir. WordPress tarafında bu mantığı kurarken wp-cron yerine gerçek cron kullanma rehberimizden de yararlanabilirsiniz.

Laravel İçin max_execution_time Önerileri

Laravel dünyasında iki ayrı kategori düşünmek gerekir:

  • HTTP istekleri: Kullanıcıya direkt cevap veren web veya API istekleri
  • CLI / queue işleri: artisan komutları, scheduler, queue workers

Önerdiğimiz aralıklar:

  • Web/API istekleri: 30–60 saniye
  • Yönetim panelinde ağır raporlar: 60–120 saniye (mümkünse raporu queue’ye atıp arka planda üretmek daha doğru)
  • CLI ve queue işleri: Çoğu ortamda max_execution_time = 0 (sınırsız) bırakılır, bunun yerine işçi başına iş sayısı, timeout ve retry mantığı uygulamaya bırakılır.

Laravel’de uzun süren işlerin çoğunu queue tarafına itip, web isteğini mümkün olduğunca hızlı tamamlamak her zaman daha sağlıklı bir mimaridir. DCHost üzerinde Laravel prod ortamı kurarken Laravel prod optimizasyon rehberimizde anlattığımız Horizon, queue, OPcache ve PHP-FPM kombinasyonunu takip ederseniz, max_execution_time’ı da çok uç değerlere çekmek zorunda kalmazsınız.

max_execution_time İçin Pratik Tavsiyeler

  • Web istekleri: 30–60 saniye aralığı genelde fazlasıyla yeterli.
  • Bakım/güncelleme gibi ağır işlemleri CLI’da çalıştırın; burada 300–600 saniye bile mantıklı olabilir.
  • Sürekli 120+ saniye çalışan web istekleri görüyorsanız, muhtemelen mimariyi gözden geçirmeniz gerekiyordur (veritabanı sorguları, N+1 problemleri, eksik indeksler vb.).

upload_max_filesize ve post_max_size: Dosya Yükleme Sınırını Doğru Koymak

WordPress ve Laravel’de en sık sorulan sorulardan biri: “Müşteri 200 MB’lık PDF yükleyemiyor, neden?” Çoğu zaman sebep PHP tarafındaki upload_max_filesize ve post_max_size değerleridir.

Bu İki Ayar Arasındaki İlişki

  • upload_max_filesize: Tek bir dosyanın maksimum boyutu.
  • post_max_size: Bir POST isteğiyle gönderilen tüm verinin (dosyalar + form alanları) toplam boyut limiti.

Genel kural:

  • post_max_size ≥ upload_max_filesize olmalıdır.
  • Genelde post_max_size’i upload_max_filesize’den biraz daha büyük tutmak iyi bir pratiktir (örneğin 64M upload, 80M post).

WordPress İçin Dosya Yükleme Sınırları

WordPress’te tipik senaryolar:

  • Küçük blog / kurumsal site: 8–16 MB çoğu zaman yeterli.
  • Orta ölçekli içerik siteleri (yüksek çözünürlüklü görseller): 32–64 MB.
  • WooCommerce ürün görselleri + dokümanlar: 64–128 MB.
  • Online eğitim / video yüklenen platformlar: 256–512 MB (mümkünse büyük videoları doğrudan object storage/CDN’e yüklemek daha iyi mimari).

Burada stratejik düşünmek önemli. Büyük dosyaları gerçekten web sunucunuz üzerinden mi taşımak istiyorsunuz, yoksa object storage ile medya offload stratejisi gibi çözümlerle medya trafiğini farklı bir katmana mı aktarmak daha iyi? DCHost altyapısında media offload, hem PHP yükünü hem de disk I/O’yu ciddi oranda hafifletiyor.

Laravel İçin Dosya Yükleme Sınırları

Laravel tarafında upload limitleri genellikle:

  • Yönetim paneline dosya yükleme (dokümanlar, görseller, CSV/Excel import)
  • Kullanıcı tarafından yüklenen profil resimleri, raporlar, PDF’ler
  • API üzerinden gönderilen dosyalar

Genel tavsiye aralıkları:

  • Standart uygulamalar: 16–64 MB
  • CSV/Excel import ağırlıklı uygulamalar: 64–128 MB
  • Özel medya uygulamaları: 256+ MB (yine, burada da object storage ve parçalı upload mimarilerini düşünmek gerek)

Laravel’de de büyük dosyalar için tek dev POST isteği yerine, parçalı yükleme (chunked upload) ve doğrudan object storage’a yazma gibi mimariler ciddi avantaj sağlar. Bu tarz senaryoları planlarken, büyük medya dosyaları için yükleme stratejisi rehberimizi incelemek iyi bir başlangıç olur.

WordPress İçin Örnek php.ini Senaryoları

Aşağıda DCHost üzerinde sık gördüğümüz üç tip WordPress projesi için makul başlangıç ayarlarını toparlayalım. Bunlar örnek başlangıç değerleridir; gerçek projede izleme yapıp gerektiğinde yukarı/aşağı çekmek en doğrusudur.

1) Kişisel Blog / Basit Kurumsal Site

  • Trafik: Düşük–orta
  • Eklenti sayısı: 10–15
  • WooCommerce yok
memory_limit = 128M
max_execution_time = 60
upload_max_filesize = 16M
post_max_size = 20M

Bu tip sitelerde asıl kazanç sunucu tarafı önbellek (OPcache, gerektiğinde tam sayfa cache) ve doğru sunucu seçimiyle gelir. OPcache tarafını detaylı kurcalamak isterseniz, WordPress ve Laravel için OPcache ayarları rehberimiz tam bu konuyu anlatıyor.

2) Orta Ölçekli Kurumsal Site / İçerik Ağırlıklı Blog

  • Trafik: Orta
  • Eklenti sayısı: 20–30
  • Görsel/makale sayısı fazla
memory_limit = 256M
max_execution_time = 60
upload_max_filesize = 64M
post_max_size = 80M

Bu seviyede veritabanı optimizasyonu, CDN ve doğru cache stratejisi devreye girer. Sunucu tarafında TTFB’yi düşürüp Core Web Vitals metriklerini iyileştirmek için Core Web Vitals’ı hosting tarafında iyileştirme rehberimize göz atmak iyi olur.

3) WooCommerce Mağazası (Sayfa Oluşturuculu)

  • Trafik: Orta–yüksek
  • WooCommerce + Elementor/Divi + birçok entegrasyon
  • Yoğun ürün kataloğu, kampanyalar
memory_limit = 512M
max_execution_time = 90
upload_max_filesize = 128M
post_max_size = 160M

Burada mutlaka PHP-FPM ayarları, MySQL/InnoDB tuning ve tam sayfa cache stratejisiyle beraber düşünmek gerekiyor. WooCommerce için kapasite ve veritabanı tarafını detaylı ele aldığımız WooCommerce MySQL/InnoDB tuning rehberi ile birlikte bu ayarları düşünürseniz çok daha dengeli bir yapı kurarsınız.

Laravel İçin Örnek php.ini ve Uygulama Senaryoları

Laravel tarafında genelde üç ana profil görüyoruz: sadece API, admin paneli + API, bir de queue ağırlıklı SaaS uygulamaları.

1) Sadece API Sunan Laravel Uygulaması

  • Ön uç: React/Vue/Next.js gibi ayrı bir frontend
  • Laravel sadece JSON API sunuyor
memory_limit = 256M
max_execution_time = 60
upload_max_filesize = 32M
post_max_size = 40M

API’lerde ideal olan, neredeyse tüm isteklerin birkaç yüz milisaniye ile 2–3 saniye arasında tamamlanmasıdır. Eğer max_execution_time’ı sürekli artırmaya ihtiyaç duyuyorsanız, sorgularda N+1 problemleri, eksik indeksler veya gereksiz dosya işlemleri olabilir.

2) Admin Paneli + API Laravel Uygulaması

  • Hem son kullanıcı API’leri hem de yöneticilerin kullandığı panel
  • CSV/Excel import, PDF export gibi işlemler de var
memory_limit = 256M – 512M
max_execution_time = 60 – 120
upload_max_filesize = 64M
post_max_size = 80M

Burada özellikle rapor üretimlerini ve büyük import işlemlerini queue’ye itmeniz çok kritik. Böylece kullanıcı arayüzü hızlı kalır, ağır işler arka planda Laravel queue işçileri tarafından yapılır.

3) Queue Ağırlıklı SaaS / Arka Plan İşleri Yoğun Uygulamalar

  • Çok sayıda arka plan işi (e-posta gönderimi, rapor, üçüncü parti API entegrasyonları)
  • Horizon, Octane, Redis gibi bileşenler devrede

Bu tür projelerde iki farklı php.ini mantığına ihtiyaç olabilir:

  • Web istekleri için daha muhafazakâr ayarlar
  • CLI/queue işçileri için daha geniş memory_limit ve farklı timeout davranışları
; Web (FPM)
memory_limit = 256M
max_execution_time = 60

; CLI (queue workers)
memory_limit = 512M
max_execution_time = 0 ; Süresiz, yönetim işçi bazında

Queue işçilerinin sınırsız süre çalışmasına izin verirken, Horizon veya Supervisor konfigürasyonunda job timeout, max-jobs (işçi başına iş sayısı) ve memory limit gibi ayarları mutlaka doğru yapılandırın. Bunları nasıl bir araya getireceğinizi yine Laravel prod ortam optimizasyon rehberinde adım adım anlattık.

Paylaşımlı Hosting, VPS ve dedicated sunucuda Farklı Yaklaşım

php.ini ayarlarını yaparken bulunduğunuz altyapı türü de sınırlarınızı belirler:

  • Paylaşımlı hosting: Üst sınırlar hosting firması tarafından tanımlıdır. Örneğin 256M üzerini seçemeyebilirsiniz. Bir noktadan sonra sadece php.ini ayarını büyütmek değil, üst pakete ya da VPS’e geçmek gerekir.
  • VPS (sanal sunucu): DCHost üzerinde kendi NVMe VPS’inizde php.ini ve PHP-FPM üzerinde tam kontrol sağlar, bellek limitlerini hem uygulamanın ihtiyacına hem de toplam RAM’e göre ayarlayabilirsiniz.
  • Dedicated / colocation: Yüksek trafikli WordPress, WooCommerce veya Laravel SaaS projeleri için bellek, disk ve network üzerinde tam kontrol ve izole performans sunar.

Eğer sürekli memory_limit’i yükseltmek zorunda kalıyor, buna rağmen 500 hataları, yavaşlayan sorgular ve “Resource Limit” uyarıları görüyorsanız; belki de sorun sadece php.ini değeri değil, kullandığınız planın kapasitesidir. Bu noktada DCHost ekibi olarak hem paylaşımlı hosting → VPS geçişlerinde, hem de VPS’ten dedicated veya colocation’a geçerken kapasite planlama desteği veriyoruz.

php.ini Değişikliklerini Test Etmek ve Geri Almak

Son olarak, php.ini üzerinde değişiklik yaparken bazı temel pratiklere uymanızı öneririz:

  • Tek seferde çok büyük değişiklikler yapmayın; önce memory_limit’i 128M’den 256M’ye çıkarıp gözlemleyin, sonra gerekiyorsa 512M’ye yükseltin.
  • Değişiklik sonrası kısa bir PHP-FPM restart (veya paylaşımlı hostingte PHP versiyonunu bir değiştirip geri alma gibi tetikleyiciler) uygulamayı unutmayın.
  • phpinfo() ile gerçekten hangi ayarın aktif olduğunu kontrol edin; bazen global php.ini yerine .user.ini veya panel bazlı ayar geçerli olabilir.
  • Önemli değişikliklerden sonra hata loglarını ve sunucu kaynak kullanımını (RAM, CPU, I/O) en az birkaç gün izleyin.
  • Mümkünse önce bir staging ortamında deneyip sonra canlıya alın. Paylaşımlı hostingte bile alt alan adı + klon site ile küçük bir staging mimarisi kurmak mümkün; bunun için WordPress staging ortamı rehberimiz iyi bir yol gösterici olacaktır.

Sonuç ve DCHost Üzerinde Sağlam php.ini Stratejisi

WordPress ve Laravel projelerinde memory_limit, max_execution_time ve upload_max_filesize ayarlarını ezbere değil, projenin gerçek ihtiyaçlarına, sunucunun toplam kaynaklarına ve kullanılan mimariye göre belirlemek gerekir. Çok düşük değerler anlamsız hatalara, çok yüksek değerler ise tüm sunucuyu çökerten kaynak tüketimine yol açabilir.

Bu yazıda paylaştığımız sayılar, DCHost üzerindeki yüzlerce WordPress, WooCommerce ve Laravel kurulumundan süzülmüş gerçekçi başlangıç aralıkları. En iyi sonucu almak için bunları:

  • Doğru boyutlandırılmış bir DCHost paylaşımlı hosting, VPS veya dedicated paketiyle,
  • PHP-FPM, OPcache, veritabanı tuning ve önbellekleme ayarlarıyla birlikte,
  • Düzenli log ve kaynak kullanımı izlemesiyle

beraber düşünmelisiniz. Altyapınızı DCHost üzerinde kuruyor veya taşıyorsanız, projenizin trafiğini, teknoloji yığınını (WordPress/Laravel, veritabanı, cache, queue) ve büyüme planlarını bizimle paylaşırsanız; hem doğru sunucu tipini hem de mantıklı php.ini başlangıç değerlerini birlikte netleştirebiliriz.

Yeni bir proje planlarken ya da mevcut WordPress/Laravel altyapınızı DCHost’a taşırken, php.ini ayarlarını sadece “hata kaybolsun” diye değil, uzun vadeli ölçeklenebilirlik ve performans perspektifiyle ele almak, sizi ileride yaşanacak pek çok sorundan kurtaracaktır.

Sıkça Sorulan Sorular

WordPress için tek bir sihirli memory_limit değeri yok; tema, eklenti sayısı ve WooCommerce kullanımı gibi etkenlere göre ayarlamak gerekir. Küçük blog ve basit kurumsal sitelerde 128M genelde yeterlidir. 20–30 eklentili, içerik ağırlıklı sitelerde 256M daha sağlıklı çalışır. WooCommerce, sayfa oluşturucular (Elementor, Divi vb.) ve çok dilli yapı devreye girdiğinde 256M–512M aralığına çıkmak çoğu zaman şart hale gelir. Ancak memory_limit’i yükseltirken sunucudaki toplam RAM’i ve PHP-FPM child sayısını mutlaka hesaba katmalı, her sürece 512M verirken toplam RAM’i aşmayacak bir eşzamanlı süreç sayısı belirlemelisiniz.

Laravel’de queue işçileri ve Horizon genellikle CLI üzerinden çalıştırıldığı için max_execution_time çoğu zaman 0 (sınırsız) bırakılır ve zaman aşımı mantığı uygulama tarafında yönetilir. Yani job bazlı timeout, maksimum işlem süresi ve maksimum iş sayısı gibi parametreler, Horizon veya Supervisor ayarlarıyla kontrol edilir. Web isteklerinde ise 30–60 saniyelik max_execution_time çoğu zaman yeterlidir; admin panelde çok ağır raporlar üretiyorsanız 60–120 saniyeye çıkılabilir, ama bu durum kalıcı değil istisnai olmalıdır. Uzun süren her işi HTTP isteği içinde değil, mümkün olduğunca queue’ye itmek en iyi pratiktir.

upload_max_filesize değerini yükseltmek, kullanıcıların daha büyük dosya yükleyebilmesi için bazen gerekli olsa da, güvenlik ve kaynak kullanımı açısından dikkatli olunmalıdır. Çok yüksek değerler (örneğin 1–2 GB) kötü niyetli veya hatalı isteklerle sunucu RAM’ini ve disk I/O’sunu zorlayabilir, PHP süreçlerinin beklenmedik şekilde şişmesine yol açabilir. Genellikle gerçek ihtiyacı belirleyip, ona biraz pay bırakarak bir üst değeri seçmek en doğrusudur; örneğin 40 MB dosya gerekiyorsa 64M, 80 MB gerekiyorsa 128M gibi. Çok büyük dosyalar için ise doğrudan object storage’a yükleme, parçalı upload ve CDN stratejileri kullanmak hem daha hızlı hem de daha güvenlidir.

Paylaşımlı hosting ortamlarında php.ini’ye doğrudan erişiminiz olmayabilir, ancak çoğu panel size kullanıcı bazlı PHP ayarlarını değiştirme imkânı sunar. cPanel veya DirectAdmin gibi panellerde genellikle “Select PHP Version” veya “PHP Options” benzeri bir bölüm bulunur; buradan memory_limit, max_execution_time ve upload_max_filesize gibi temel değerleri seçebilirsiniz. Bazı ortamlarda kök dizine .user.ini veya local php.ini koyarak da ayarları özelleştirmek mümkündür. DCHost paylaşımlı hosting paketlerinde bu ayarları panel üzerinden değiştirebilir, gerektiğinde destek ekibimizden projeniz için mantıklı başlangıç değerleri konusunda tavsiye alabilirsiniz.

Hayır, bu iki değeri artırmak çoğu zaman performansı değil, sadece hataların ortaya çıkma şeklini değiştirir. Çok düşük memory_limit, haklı olarak bazı işlemleri durdurup size "hafıza yetmedi" der; siz de bu sayede bellek tüketen kodu veya eklentiyi tespit edebilirsiniz. Aynı şekilde çok düşük max_execution_time, aşırı yavaş sorguları erken yakalamanıza yardım eder. Bu değerleri kontrolsüz biçimde yükseltmek, asıl performans sorunlarını (yavaş sorgular, indeks eksikliği, kötü cache stratejisi) gizleyebilir ve yoğun trafik altında tüm sunucunun kilitlenmesine yol açabilir. En doğru yaklaşım, önce kod ve veritabanı optimizasyonunu yapmak, sonra bu limitleri dengeli ve hesaplanmış şekilde ayarlamaktır.