Drupal 8’den Drupal 9’a Yükseltme

Bağımlılıkların yönetiminde ortaya çıkması muhtemel “Tavuk/Yumurta” sorununu önlemek adına –no-update seçeneğini kullanmalıyız:

composer require 'drupal/core-recommended:^9' 
'drupal/core-composer-scaffold:^9' 
'drupal/core-project-message:^9' 
--update-with-dependencies --no-update

Sistemde drupal/core mevcutsa güncellenmelidir:

composer require 'drupal/core-dev:^9' --dev 
--update-with-dependencies --no-update

Drupal 9’a ait core gereksinimleri composer.json dosyasına eklendikten sonra güncellemeyi başlatabiliriz:

composer update

Güncelleme sonrasında ilk iş olarak önbellek rebuild edilmelidir. Bu esnada, giderilmesi gereken deprecated hataları gözlemlenir.

drush cr

admin/reports/status ekranından INCOMPATIBLE MODULES (Drupal 9 ile uyumsuz olan modüller) görüntülenir. Modüller Drupal 9 ile uyumlu hale getirilmelidir.

İlk olarak, modüle ait .info dosyasına:

  • core_version_requirement: '^8 || ^9' eklenmelidir.
  • core: 8.x gibi bir ifade varsa kaldırılmalıdır.

Deprecated Düzeltmeleri

The ::getCurrentUserId method is deprecated

Hata mesajı alınan modüle ait config (yaml) dosyası içerisindeki default_value_callback değeri:
default_value_callback: ‘Drupal\node\Entity\Node::getCurrentUserId’ yerine,
default_value_callback: ‘Drupal\node\Entity\Node::getDefaultEntityOwner’ olarak değiştirilmelidir.

php 7.3 üzerinde Drupal 9 uyumsuzluk çözümü

Drupal 9, en düşük PHP sürümü olarak 8 ve üzerini önermektedir. 7.3 ile birlikte kullanımında, bazı paketlerin downgrade edilmesi gerekmektedir. Bu durum stabiliteyi bozmaktadır. Mecbur kalınması durumunda geçici olarak bu yöntem kullanılabilir.

Drupal 9.3.7 sürümü için aşağıdaki paketler php 7.3 sürümünü desteklemektedir. composer.json dosyasında belirtildiği takdirde php 7.3 çalıştıran sunucuya Drupal 9 kurulumu sağlanacaktır.

"laminas/laminas-servicemanager": "v3.7.0",
"mglaman/phpstan-drupal": "v1.1.4",
"friends-of-behat/mink-browserkit-driver": "v1.5.0",
"laminas/laminas-zendframework-bridge": "v1.4.1"
Ads Blocker Image Powered by Code Help Pro

Reklam Engelleyici Algılandı!

Reklamları engellemek için uzantı kullandığınızı tespit ettik.

Lütfen bu reklam engelleyiciyi devre dışı bırakarak ya da sitemize izin vererek bize destek olun.

Dikkat: VPN eklentiniz üzerinde de reklam engelleyici olabilir.