PHP sürümleri ve ayarları
Coduva birden fazla PHP sürümünü yan yana çalıştırır. Bir müşteri sitesi PHP 8.3'te, yeni bir Laravel projesi PHP 8.5'te kalabilir; aynı anda, birbirine karışmadan.
PHP ile ilgili her şey PHP ve Node ekranındadır (sol menüde Geliştirme grubu). Alttaki durum çubuğundaki PHP sürümüne tıklamak da bu ekranı açar.
Desteklenen sürümler
| Sürüm | Durum |
|---|---|
| PHP 8.4 | Varsayılan; ilk kurulumda gelir |
| PHP 8.3 | İsteğe bağlı |
| PHP 8.5 | İsteğe bağlı |
Coduva PHP 8.0 ve üzerini destekler. Daha eski bir sürüm bileşen dizininde bulunursa Desteklenmiyor olarak işaretlenir. Kesin sürüm numaraları için Bileşenler sayfasına bakın.
Sürüm kurma ve kaldırma
PHP ve Node ekranındaki PHP sürümleri tablosunda her sürüm için Durum (Varsayılan, Kurulu, Kurulu değil veya Desteklenmiyor) ve Kullanan projeler yazar. Kurulu olmayan sürümlerin yanında indirme boyutu görünür.
- Kurmak için: sürümün satırındaki Kur düğmesine tıklayın. İndirme yüzdesi satırda görünür. Dosya resmî kaynağından indirilir ve SHA-256 ile doğrulanır.
- Varsayılan yapmak için: Varsayılan yap düğmesine tıklayın. Kendi sürümü seçilmemiş bütün projeler bu sürümü kullanır.
- Kaldırmak için: Kaldır düğmesine tıklayın ve "PHP 8.3 kaldırılsın mı? Dosyaları silinir." onayını verin.
Kaldırılamayan sürümler
Varsayılan sürüm kaldırılamaz; önce başka bir sürümü varsayılan yapın. Bir projenin kullandığı sürümde Kaldır düğmesi devre dışıdır: Kullanan projeler sütunundaki projeleri önce başka bir sürüme geçirin. Sürümün FastCGI havuzu çalışıyorsa önce web sunucusunu durdurmanız istenir.
Proje başına PHP sürümü
- Proje sayfasında Genel sekmesini açın.
- PHP sürümü listesinden bir sürüm seçin. Varsayılan (8.4) seçeneği projeyi varsayılan sürüme bağlar; varsayılan değişince proje de değişir.
Değişiklik hemen uygulanır. Coduva Nginx'i kesintisiz yeniden yükler; servisleri durdurmanız gerekmez. Projenin terminali, Composer, WP-CLI ve Artisan komutları da bu sürümle çalışır.
Yeni proje oluştururken veya klasör eklerken de PHP sürümü seçebilirsiniz.
Nasıl çalışır?
Her PHP sürümünün kendi FastCGI havuzu vardır: 4 php-cgi.exe süreci, sürüme özel bir port bloğunda. Örneğin PHP 8.4 varsayılan olarak 9840–9843 portlarını kullanır. Nginx, her projenin isteğini o projenin sürümüne ait havuza iletir.
- Bir PHP süreci çökerse Coduva'nın bekçisi onu birkaç saniye içinde yeniden başlatır.
- Havuzun portları doluysa Coduva 9800–9999 aralığında boş bir blok seçer ve kaydeder.
- Kontrol merkezindeki Nginx kartı her havuzun durumunu gösterir:
PHP 8.4 · 4/4 FastCGI süreci.
Port düzeni için Portlar sayfasına bakın.
php.ini ayarları
PHP ayarları kartında en sık değiştirilen ayarlar form olarak durur:
| Alan | php.ini karşılığı | Örnek |
|---|---|---|
| Bellek sınırı | memory_limit | 512M, 1G |
| Yükleme boyutu | upload_max_filesize | 64M |
| Çalışma süresi, saniye | max_execution_time | 120 (1–3600) |
| Saat dilimi | date.timezone | Europe/Istanbul |
| Hataları sayfada göster | display_errors | Açık / Kapalı |
Kaydet düğmesine tıkladığınızda Coduva php.ini dosyalarını yeniden üretir ve çalışan PHP süreçlerini yeni ayarlarla yeniden başlatır. Boyutlar 512M, 1G veya sınırsız için -1 biçiminde yazılmalıdır; geçersiz bir saat dilimi kabul edilmez.
Ayarlar tüm sürümler için geçerlidir
Bu formdaki değerler kurulu bütün PHP sürümlerine uygulanır. Sürüm başına ayrı php.ini değeri şu an arayüzden ayarlanamaz.
Eklentiler
PHP ayarları kartının altındaki Eklentiler bölümü, ekranda belirtilen PHP sürümü (varsayılan sürüm) için kullanılabilir eklentileri listeler. İşaretli eklentiler yüklenir. Bir eklentiyi açıp kapattıktan sonra kartın Kaydet düğmesine tıklayın; seçim, o eklentiyi içeren bütün PHP sürümlerine uygulanır.
Coduva yalnızca o PHP sürümünün klasöründe gerçekten bulunan eklentileri yazar; olmayan bir DLL yüzünden PHP'nin başlamaması önlenir.
Hangi eklentiyi açmanız gerektiğini bilmiyorsanız günlükteki hata size söyler:
| Hata | Eklenti |
|---|---|
Call to undefined function imagecreate() | gd |
Call to undefined function mb_strlen() | mbstring |
PHP Startup: Unable to load dynamic library | Eklentinin bağımlılığı eksik; çoğunlukla Visual C++ çalışma zamanı |
Coduva bu kalıpları günlüklerde kendisi tanır ve Hata teşhisi ekranında açıklar. Bkz. Hata teşhisi kuralları.
Komut satırında PHP
Proje terminalinde php komutu projenin sürümünü çalıştırır ve Coduva'nın ürettiği php.ini dosyasını kullanır (PHPRC ortam değişkeni üzerinden):
php -v
php --ini
php -mBkz. Terminal, Composer ve Node.js.
Xdebug
Xdebug'ı proje başına açıp kapatma ve editör yapılandırma yardımcısı v1.x için planlanıyor.
Sonraki adım: Yerel HTTPS.