# PHP sürümü ve ayarları

Kaynak: <https://deckpa.com/docs/php>

> Sunucuda birden çok PHP sürümü yan yana kurulu durur; her site hangisini kullanacağını kendi seçer.

## Kurulu sürümler

PHP sürümleri panel kurulurken hazırlanır ve **PHP** sayfasında listelenir. Sürümler yan yana kurulu durur ve birbirini etkilemez. Sayfa, desteği bitmek üzere olan sürümleri **Destek sonu yaklaşıyor**, desteği bitmiş olanları **Destek süresi doldu** etiketiyle işaretler. Canlı sitelerde desteği bitmiş bir sürüm bırakmamak, en kolay güvenlik önlemlerinden biridir.

Yeni bir sürüm kurmak ya da kullanılmayan bir sürümü kaldırmak da aynı sayfadan yapılır. Bir sürümü kaldırırken panel, o sürümü kullanan sitelerin çalışmayacağı konusunda sizi uyarır.

## Sitenin sürümünü değiştirme

Sürüm site başınadır; ilgili sitenin ayarlarından seçersiniz. Değişiklik kaydedildiğinde site yapılandırması güncellenir ve PHP otomatik olarak yeniden başlatılır. Başka bir sitenin sürümü etkilenmez.

Alt alan adları varsayılan olarak ana sitenin sürümünü kullanır; isterseniz bir alt alan adına ayrı bir sürüm verebilirsiniz.

> Sürümü yükseltmeden önce uygulamanızın gerektirdiği eklentilerin yeni sürümde de kurulu olduğunu kontrol edin. Eklentiler her sürümde ayrı kurulur.

## Eklentiler

Her sürümün kendi eklenti listesi vardır. PHP sayfasında sürümü seçin, ardından eklentiyi kurun ya da kaldırın; işlem sonunda OpenLiteSpeed yeniden başlatılır. Valkey veya Memcached gibi bir servise bağlanan eklentilerin çalışması için ilgili servisin de sunucuda kurulu olması gerekir (bkz. **Servisler** sayfası).

Kurulu eklentileri sunucudan da doğrulayabilirsiniz (örnekte PHP 8.3 kullanılmıştır):

```bash
/usr/local/lsws/lsphp83/bin/php -m
```

## Limitler ve davranış

Yönetici, PHP sayfasındaki **Ayarlar** sekmesinden seçili sürümü kullanan tüm siteler için geçerli değerleri düzenler. Tek bir siteye özel değer vermek için ilgili sitenin ayarlarındaki PHP bölümünü kullanın. Değişebilen değerler iki grupta toplanır:

- **Limitler:** `memory_limit`, `max_execution_time`, `max_input_time`, `post_max_size`, `upload_max_filesize`.
- **Davranış:** `display_errors`, `file_uploads`, `allow_url_fopen`, `allow_url_include`.

Dokunmadığınız değerler sürümün varsayılanıyla kalır. Canlı sitelerde `display_errors` ve `allow_url_include` kapalı olmalıdır: ilki hata mesajlarını ziyaretçilere gösterir, ikincisi uzak bir adresteki kodun çalıştırılmasına izin verir.

## İzolasyon ve yeniden başlatma

Her site kendi Linux kullanıcısı altında çalıştığı için PHP işlemleri de o kullanıcının yetkisiyle çalışır: bir sitedeki açık, diğer sitelerin dosyalarına erişemez.

Ayar değişikliğinden sonra panel PHP'yi kendisi yeniden başlatır. Yönetici, elle yeniden başlatmak gerekirse PHP sayfasındaki **Yeniden başlat** düğmesini kullanabilir.
