Desteği bitmiş bir PHP sürümü kusursuz çalışmayı sürdürür ve güvenlik düzeltmeleri almayı bırakır. Hiçbir şey bozuk görünmez; siteler yıllarca onun üstünde oturmasının sebebi budur - ve eski bir PHP sürümünün, bir saldırganın baktığı ilk şeylerden biri olmasının sebebi de budur.

İki ayrı yükseltme

  • Yama sürümleri - 8.3.10'dan 8.3.11'e. Yalnızca güvenlik ve hata düzeltmeleri, davranış değişikliği yok. Bunları kendiliğinden uygulatın.
  • Büyük sürümler - 8.2'den 8.3'e. Kodunuzun dayandığı, kullanımdan kaldırılmış davranışları çıkarabilirler. Bunlar önce bir denetim ister.

Yama sürümlerini kendiliğinden gelecek şekilde ayarlayın

sudo apt-get install -y unattended-upgrades
sudo dpkg-reconfigure --priority=low unattended-upgrades
grep -A5 "Allowed-Origins" /etc/apt/apt.conf.d/50unattended-upgrades

Büyük bir sürüme gereğince hazırlanın

  1. Neyin bozulacağını duruk olarak öğreninvendor/bin/rector process --dry-run veya phpcs --standard=PHPCompatibility --runtime-set testVersion 8.3
  2. Yeni sürümü eskisinin yanına kurun — ikisi birden bulunabilir; hangisinin çalışacağına yalnızca havuz karar verir.
  3. Deneme ortamını ona yöneltin ve siteyi çalıştırın — ödeme, yüklemeler, posta, zamanlanmış görevler.
  4. Canlı havuzu geçirin, eski sürümü kurulu bırakın — böylece geri dönmek bir satır ve bir yeniden yükleme olur.
sudo apt-get install -y php8.3-fpm php8.3-mysql php8.3-mbstring php8.3-curl php8.3-xml
# nginx
fastcgi_pass unix:/run/php/php8.3-fpm.sock;
sudo nginx -t && sudo systemctl reload nginx

Sonra kurulu olana değil, yüklü olana bakın

php -v                       # the CLI version
curl -sSI https://yourdomain.com | grep -i x-powered-by
php -m | sort                # the modules the site actually has
Komut satırı sürümü ile web sürümü ayrıdır. Site 8.3 ile çalışırken bir zamanlanmış görev PHP 8.1 ile çalışıyor olabilir ve bu uyumsuzluk, yalnızca geceleri olan bir arıza olarak kendini gösterir.
EGPHP barındırmasında sürüm bir açılır listedir, yama sürümleri sizin için uygulanır ve önceki sürüm erişilebilir tutulur. Bakınız PHP sürümünüzü yükseltmek.