PHP 8.3 Kurulumu: Ubuntu, AlmaLinux ve cPanel'de PHP Yönetimi
PHP 8.3 kurulum rehberi: Ubuntu 22.04 Ondrej PPA, AlmaLinux Remi repo ve cPanel EasyApache 4 ile çoklu PHP sürüm yönetimi.
PHP 8.3 Nedir?
PHP (PHP: Hypertext Preprocessor), web geliştirme için özel olarak tasarlanmış sunucu taraflı bir betik dilidir. 1994 yılında Rasmus Lerdorf tarafından başlatılan PHP projesi, Laravel, Symfony, WordPress, Drupal ve Magento gibi dünyaca ünlü framework ve CMS'lerin altyapısını oluşturmaktadır. İnternet üzerindeki web sitelerinin yaklaşık %77'si PHP kullanmaktadır.
PHP 8.3, Kasım 2023'te yayımlanmış ve PHP 8.x serisinin son ana sürümüdür. Typed class constants, readonly property override desteği, json_validate() fonksiyonu, Randomizer::getBytesFromString() gibi yeni özellikler içermektedir. PHP 8.0 ile gelen JIT (Just-In-Time) derleyici, 8.3'te olgunlaşmış ve belirli iş yüklerinde ciddi performans artışları sağlamaktadır.
PHP 8.0 ile gelen özellikler (named arguments, match expression, null-safe operator, union types, attributes), 8.1 ile gelen (enums, fibers, readonly properties, never return type) ve 8.2 ile gelen (readonly classes, DNF types, true/false/null types) özellikler PHP'yi modern bir dil haline getirmiştir. PHP 8.3, bu güçlü temelin üzerine pratik iyileştirmeler ekler.
Temel Özellikler (PHP 8.x)
- JIT Derleyici: CPU yoğun işlemlerde belirgin performans artışı.
- Named Arguments: Parametre ismiyle fonksiyon çağrısı yapılabilir.
- Match Expression: Switch'e güçlü alternatif, strict type karşılaştırma.
- Enums (8.1): Yerleşik sayımlı tip desteği.
- Fibers (8.1): Düşük seviyeli eşzamansız programlama desteği.
- Readonly Classes (8.2): Tüm sınıf özelliklerini readonly yapma kolaylığı.
- Typed Class Constants (8.3): Sınıf sabitlerinde tip bildirimi.
- PHP-FPM: FastCGI Process Manager ile Nginx/Apache entegrasyonu.
İşletim Sistemine Göre PHP 8.3 Kurulumu
🟠 Ubuntu 22.04 Üzerinde PHP 8.3 Kurulumu (Ondrej PPA)
Ubuntu'nun resmi depolarında PHP 8.1 bulunur. PHP 8.3 için Ondrej Surý'nin PPA'sını kullanın:
1. Bağımlılıkları Kurun
sudo apt update && sudo apt install -y software-properties-common
2. Ondrej PHP PPA'sını Ekleyin
sudo add-apt-repository ppa:ondrej/php -y
sudo apt update
3. PHP 8.3 ve Uzantıları Kurun
sudo apt install -y php8.3 php8.3-fpm php8.3-cli php8.3-common \
php8.3-mysql php8.3-xml php8.3-mbstring php8.3-curl \
php8.3-zip php8.3-gd php8.3-intl php8.3-bcmath \
php8.3-redis php8.3-imagick php8.3-opcache
4. PHP-FPM'i Başlatın
sudo systemctl start php8.3-fpm
sudo systemctl enable php8.3-fpm
sudo systemctl status php8.3-fpm
5. Sürümü Doğrulayın
php8.3 --version
php-fpm8.3 --version
Çoklu PHP Sürümü Yönetimi (Ubuntu)
# PHP 8.1 ve 8.3 birlikte kurulu olabilir
sudo update-alternatives --config php
# Varsayılan PHP sürümünü seçin (1, 2 gibi numara girin)
🔵 AlmaLinux 9 Üzerinde PHP 8.3 Kurulumu (Remi Repo)
1. EPEL ve Remi Deposunu Ekleyin
sudo dnf install -y epel-release
sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-9.rpm
2. PHP 8.3 Modülünü Aktifleştirin
sudo dnf module reset php -y
sudo dnf module enable php:remi-8.3 -y
3. PHP 8.3 ve Uzantıları Kurun
sudo dnf install -y php php-fpm php-cli php-common \
php-mysqlnd php-xml php-mbstring php-curl \
php-zip php-gd php-intl php-bcmath \
php-redis php-opcache php-json
4. PHP-FPM'i Başlatın
sudo systemctl start php-fpm
sudo systemctl enable php-fpm
sudo systemctl status php-fpm
cPanel EasyApache 4 ile PHP 8.3 Kurulumu
- WHM'e giriş yapın (
https://domain.com:2087). - Software → EasyApache 4'e gidin.
- Kullandığınız profili seçin (veya "Currently Installed Packages").
- PHP sürümleri listesinden PHP 8.3'ü işaretleyin.
- Gerekli uzantıları seçin (php-mbstring, php-mysql, php-xml vb.).
- Review → Provision ile kurulumu başlatın.
Kurulum tamamlandıktan sonra cPanel içinde her domain için PHP sürümünü ayrı ayrı ayarlayabilirsiniz:
cPanel → Software → MultiPHP Manager
php.ini Temel Yapılandırması
# Ubuntu
sudo nano /etc/php/8.3/fpm/php.ini
# AlmaLinux
sudo nano /etc/php.ini
; Bellek ve yükleme limitleri
memory_limit = 256M
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 300
max_input_time = 300
; Hata yönetimi (üretim)
display_errors = Off
log_errors = On
error_log = /var/log/php_errors.log
; OPcache (performans için kritik)
opcache.enable = 1
opcache.memory_consumption = 128
opcache.interned_strings_buffer = 16
opcache.max_accelerated_files = 10000
opcache.revalidate_freq = 60
opcache.fast_shutdown = 1
; Zaman dilimi
date.timezone = Europe/Istanbul
# Ubuntu'da PHP-FPM'i yeniden başlatın
sudo systemctl restart php8.3-fpm
# AlmaLinux'ta
sudo systemctl restart php-fpm
PHP-FPM Pool Yapılandırması (Nginx ile)
# Ubuntu
sudo nano /etc/php/8.3/fpm/pool.d/www.conf
[www]
user = www-data
group = www-data
listen = /run/php/php8.3-fpm.sock
listen.owner = www-data
listen.group = www-data
pm = dynamic
pm.max_children = 20
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 10
pm.max_requests = 500
Sık Karşılaşılan Sorunlar
- php komutuna erişilemiyor:
which phpveyals /usr/bin/php*ile kurulu sürümleri listeleyin. - PHP-FPM başlamıyor:
journalctl -xe -u php8.3-fpmile hata logunu inceleyin. Genellikle socket dosyası yetki sorunudur. - 502 Bad Gateway (Nginx): PHP-FPM socket yolunun Nginx yapılandırmasındaki
fastcgi_passile eşleştiğini kontrol edin. - OPcache stale: Geliştirme ortamında
opcache.revalidate_freq=0ayarını yapın.
İlgili Makaleler
- PHP Fatal Error: Allowed Memory Size Exhausted Nasıl Çözülür?
- PHP-FPM Pool Ayarları: pm.max_children ve OPcache Optimizasyonu
- PHP-FPM Nasıl Kurulur ve Yapılandırılır? Nginx ile Entegrasyon Rehberi
- cPanel’de MultiPHP ve PHP Selector: Sürüm Uyumluluğu
- Laravel 11 Kurulumu: Nginx, PHP 8.3 ve Composer ile VPS
Yorumlar
Henüz yorum yok. İlk yorumu siz yapın!