KapsuleHost web hosting'in WordPress, WooCommerce ve PHP siteleri için hangi PHP sürümlerini ve uzantılarını sağladığı, hangi ayarları kendi başınıza değiştirebileceğiniz ve bir değişikliğin görünmesinin neden beş dakika kadar sürebileceği.
Statik, Node.js ve Python siteleri PHP çalıştırmaz. Bir site için PHP ile ilgili her şey tek bir yerde bulunur: Web Siteleri, siteye tıklayın, Ayarlar, ardından PHP. Bu sayfada sürüm seçici, değiştirebileceğiniz ayarlar, bir Composer çalıştırıcısı ve PHP hata günlüğü bulunur.

PHP Sürümü Seçme
Dört sürüm seçilebilir: 8.4, 8.3, 8.2 ve 8.1. Yeni siteler varsayılan olarak 8.3 kullanır.
Yazılımınızın fiilen desteklediği en yeni sürümü seçin. Daha yeni PHP belirgin şekilde daha hızlıdır ve güvenlik güncellemeleriyle daha uzun süre desteklenir. Doğrudan en yeni sürüme geçmemenin nedeni uyumluluktur: eski bir eklenti veya yıllar önce yazılmış özel bir kod parçası, hiç test edilmediği bir sürümde tamamen çalışmayı durdurabilir.
Değiştirmek için sürümü seçin ve Sürümü Uygula düğmesine tıklayın. Değişiklik sizin tarafınızdan hiçbir yeniden başlatma gerekmeden ve kesinti olmadan anında etkin hale gelir.
PHP sürümünü önce staging ortamında değiştirin, siteye göz atın ve ancak ondan sonra üretim ortamında değiştirin. Canlı ortamda yapmanız gerekiyorsa, izleyebileceğiniz bir zamanda yapın ve geri almanın tek bir tıklama olduğunu bilin. Bkz. Staging Ortamları.
Bir sürüm değişikliği siteyi bozarsa, önceki sürüme geri dönün ve günlüğü okuyun. Hata, çalıştırılamayan dosyanın adını belirtecektir. Bkz. PHP Sürümünü Değiştirme ve Hata Günlükleri.
Değiştirebileceğiniz Ayarlar
PHP sayfası beş ayarı açılır menüler olarak sunar. Bunlar pratikte gerçekten soruna yol açan ayarlardır, bu yüzden öne çıkarılmışlardır.
| Ayar | Varsayılan | Kullanılabilir değerler | Ne denetler |
|---|---|---|---|
memory_limit | 256M | 128M, 256M, 512M, 1024M, 2048M | Bir isteğin kullanabileceği bellek miktarı |
max_execution_time | 30 | 30, 60, 120, 300, 600 | Bir isteğin çalışabileceği saniye sayısı |
upload_max_filesize | 64M | 16M, 32M, 64M, 128M, 256M | Yüklenebilecek en büyük tekil dosya |
post_max_size | 65M | 17M, 33M, 65M, 129M, 257M | En büyük toplam form gönderimi |
max_input_vars | 3000 | 1000, 3000, 5000, 10000 | Bir gönderimin içerebileceği alan sayısı |
Hangisini istediğiniz:
- Belirli bir boyutun üzerinde yüklemelerin başarısız olması:
upload_max_filesizedeğerini yükseltin, ve onunla birliktepost_max_sizedeğerini de yükseltin. - Büyük bir formun veya bir sayfa oluşturucunun kaydetme sırasında alanları kaybetmesi:
max_input_varsdeğerini yükseltin. Bu, hiçbir hata vermediği için görünmez ve sinir bozucudur. Fazladan alanlar sessizce atılır. - Bir sayfanın hiçbir hata vermeden yarıda ölmesi:
memory_limitdeğerini yükseltin. Bkz. WordPress Bellek Sınırı. - Uzun bir içe veya dışa aktarma işleminin zaman aşımına uğraması:
max_execution_timedeğerini yükseltin ve işi komut satırından çalıştırmayı düşünün. Bkz. WP-CLI.
post_max_size, upload_max_filesize değerinden büyük olmalıdır, çünkü yükleme gönderi içinde taşınır. Bu durumun geçerli olmadığı bir kombinasyon seçerseniz, platform post_max_size değerini sizin için otomatik olarak yukarı çeker. Seçmediğiniz bir değeri görebilmenizin nedeni budur.
Bir Değişikliğin Görünmesi Neden Beş Dakikaya Kadar Sürer
Bu sayfadaki en yaygın kafa karışıklığı budur, bu yüzden net olmakta fayda var.
Ayarlarınız sitenizin belge kök dizinindeki bir .user.ini dosyasına yazılır. PHP bu dosyayı okur ve ardından 300 saniye boyunca önbelleğe alır, bu da beş dakikaya denk gelir. Bu önbellek süresi dolana kadar PHP önceki değerleri kullanmaya devam eder.
Dolayısıyla bir değişikliği kaydettikten sonra:
- Sayfa, beş dakikaya kadar eski sınırı bildirmeye devam edecektir.
phpinfo()beş dakikaya kadar eski sınırı bildirmeye devam edecektir.- Sert bir yenileme (hard refresh) yardımcı olmaz. Tarayıcı önbelleğinizi temizlemek de yardımcı olmaz.
- Hiçbir şeyi yeniden başlatmanız gerekmez, zaten yapamazsınız. Sadece bekleyin.
Beş dakikadan fazla süre geçmiş ve değer değişmemişse, gerçekten bir sorun var demektir ve bir destek talebi açmaya değer.
.user.ini Dosyasını Kendiniz Düzenleme
Tercih ederseniz veya panelin sunmadığı bir yönergeye ihtiyaç duyarsanız, .user.ini dosyasını SFTP veya SSH üzerinden doğrudan düzenleyebilirsiniz. Bu dosya sitenizin belge kök dizininde bulunur. Bkz. SFTP Erişimi.
Biçim, satır başına bir yönergedir:
memory_limit = 512M
max_execution_time = 120
.user.ini dosyasının yapabilecekleri konusunda iki önemli sınır vardır:
Yalnızca PHP'nin dizin başına veya kullanıcı başına ayarlanmasına izin verdiği yönergeler için çalışır. Yukarıdaki beşi de bu niteliği taşır. Yalnızca sistem düzeyinde ayarlanabilen yönergeler, örneğin disable_functions veya extension= ile bir uzantı yüklemek, bir .user.ini dosyasında yok sayılır. Hata vermezler, sadece hiçbir şey yapmazlar, bu yüzden insanlar bunlar üzerinde bir öğleden sonralarını harcarlar.
Panel yalnızca basit anahtarları geri okur. İçinde nokta bulunan yönergeler, örneğin opcache.enable veya date.timezone, PHP tarafından dikkate alınır ama panel formunda görünmez. Birini elle ayarlar ve daha sonra panel üzerinden bir şey değiştirirseniz, ardından dosyayı kontrol edin.
KapsuleHost web hosting nginx çalıştırır, Apache değil. .htaccess dosyaları kimse tarafından okunmaz. Bir .htaccess dosyasına konulan PHP yönergeleri, örneğin php_value memory_limit, burada kesinlikle hiçbir şey yapmaz. Bunun yerine .user.ini kullanın veya paneli kullanın. Bkz. WordPress ve .htaccess.
Hangi Uzantılar Mevcut
Standart yapı geniş kapsamlıdır ve WordPress, WooCommerce ile çoğu PHP uygulamasının ihtiyaç duyduğu her şeyi içerir.
Veritabanları: mysqli, pdo_mysql, sqlite3, pdo_sqlite
Görseller: gd, imagick, exif
Önbellekleme: Zend OPcache, redis, memcached
Metin ve yerel ayar: mbstring, iconv, intl, gettext, ctype
XML ve veri: dom, simplexml, xml, xmlreader, xmlwriter, xsl, json
Ağ: curl, soap, sockets, ftp, openssl
Matematik ve şifreleme: bcmath, sodium, hash, random
Dosyalar ve sistem: fileinfo, zip, zlib, phar, posix, pcntl, shmop, calendar, tokenizer
Bilinmesi gereken bir sürüm farkı: imap uzantısı 8.3 ve önceki sürümlerde mevcuttur ama 8.4'te yoktur, çünkü bu sürümde PHP'nin kendisinden kaldırılmıştır. Hâlâ buna ihtiyaç duyan bir uygulamanız varsa, 8.3'te kalın veya o uygulamayı modern bir e-posta kütüphanesine taşıyın.
Kurulu olmayanlar: PostgreSQL sürücüleri, MongoDB, Xdebug, mcrypt ve ionCube ile SourceGuardian gibi ticari kod yükleyiciler.
Uzantıları panelden kendiniz etkinleştiremez veya devre dışı bırakamazsınız. Uygulamanızın listede olmayan bir şeye ihtiyacı varsa, bir destek talebi açın ve ne çalıştırdığınızı açıklayın. Eklenip eklenemeyeceği uzantıya bağlıdır. Bkz. Destek Talebi Açma.
Gerçekte Neyin Yüklü Olduğunu Kontrol Etme
Tahmin etmek yerine:
- WordPress'te: Araçlar, ardından Site Sağlığı, ardından Bilgi, ardından Sunucu. PHP sürümünü ve ilgili sınırları listeler.
- SSH üzerinden: sürüm için
php -vve yüklü uzantılar içinphp -m. Bkz. SSH Anahtarları Ekleme.
Web kök dizininizde bir phpinfo() dosyası bırakmayın. Bu dosya, yollarınızı, uzantılarınızı ve yapılandırmanızı onu bulan herkese açık hale getirir ve otomatik tarayıcılar tam olarak bu dosya adını arar. Bir şeyi kontrol etmek için bir tane oluşturursanız, hemen ardından silin.