Laravel 9 (és PHP 8) - verziófrissítés + adatbázis backup

Attila | 2022. 03. 07. 10:11 | Olvasási idő: 2 perc

Címkék: #composer #Laravel #Laravel 9 #PHP #Telepítés (Installation) #Windows

Mivel az elmúlt hónapban már kijött a Laravel legújabb 9-es főverziója, ezért innentől kezdve már én is ebben fogok dolgozni, és kevésbé fogok visszautalni arra, hogy például az 5.7-ben még mi volt... kezdjünk tehát tiszta lappal, szó szerint és képletesen is. Ehhez azonban telepítéseket kell elvégezni és beállításokat kell módosítani, amelyekhez ebben a bejegyzésben igyekszem útmutatást adni.
Laravel_v9

A Laravel 9-hez mindenképpen szükség van a PHP 8-as verziójára, úgyhogy ezzel a frissítéssel kell kezdeni. Nálam eddig 7.4.27 volt, úgyhogy most váltani kell és mivel lokálisan használom a XAMPP-ot, ezért két lehetőségem van:

  1. Újratelepíteni a XAMPP-ot a frissebb verziószámú PHP-val (ennek bemutatásával kezdek, mivel ha valaki kezdő még, annak ez könnyebb lehet, és itt még kitérek az adatbázis backup készítésének mikéntjére is, szóval ez a rész, emiatt mindenképpen hasznos lehet, akkor is, ha a második pont szerint halad valaki... én aszerint haladtam)
  2. Meghagyni a XAMPP fő verzióját és az Apache-ot, PHP-t frissíteni benne (ezzel folytatom majd, de ez sem bonyolult egyáltalán, ahogy látni is fogjátok).


1. XAMPP újratelepítése (re-install)

Talán a legegyszerűbb megoldás, amit tehetünk, ha még csak nemrég kezdtünk el ismerkedni a Laravel-lel és nincsenek még lokálisan éles projektjeink, hogy újratelepítjük a XAMPP-ot a legfrissebb PHP-s verziószámmal (2022. március 7-én ez a 8.1.2-es PHP-s csomag):

Biztonsági okokból készítsünk előtte mentéseket a (1) C:\xampp\htdocs mappa tartalmáról, amiben a projektjeink vannak, illetve (2) az adatbázisaink tartalmát is exportálhatjuk (séma információkkal és adatokkal együtt). Az adatbázis exportokat elvégezhetjük MySQL Workbench-ben a bal oldali "Navigator" nevű panel "Administration" lapfülén lévő "Data Export" gomb segítségével.

A következő ablakban beállíthatjuk, hogy 1. melyik adatbázisokat szeretnénk exportálni (ki tudjuk pipálni). A 2. lenyíló listában válasszuk ki, hogy a sémákat és az adatokat is mentse ki. A 3. jelnél lévő checkbox-okat is érdemes bejelölni, attól függően, hogy használtunk-e már ilyeneket. A 4. pontban a mappa nevét tudjuk meghatározni, hogy hova mentse ki a rendszer az SQL fájlokat. 5. pontban a séma létrehozó utasításokat is ki tudjuk menteni. A 6. "Start Export" gomb megnyomásával pedig elindul az exportálási folyamat.

Ha ezeket a "backup-olásokat" elvégeztük, utána már nagy baj nem érhet minket, érdemes amúgy időről időre backup-ot készítenünk, ha másról nem, akkor az adatbázisban lévő adatokról, mivel a projektjeinket (és az adattábláink strukturáját a migrációs fájlokkal) Github segítségével is tudjuk "verziókövetni". Ezután következhet az uninstallálási folyamat, amely során a telepítő megkérdezi, hogy törölje-e a htdocs mappa tartalmát, erre válaszoljunk úgy, hogy a mappa tartalma és így a korábbi projektjeink megmaradjanak, persze szerencsére van róla mentésünk is. Majd ha az sikeresen lefutott, telepítsük fel az újabb verziójú XAMPP-ot és utána egy php -v parancs kiadásával tudjuk is ellenőrizni, hogy már a jó, 8.1.2-es verziójú PHP-t használjuk-e. A MySQL Workbench segítségével pedig képesek vagyunk importálni a korábban exportált adatbázisokat.


2. XAMPP-on belüli PHP verziófrissítése (upgrade)

  1. Állítsuk le a XAMPP-os szolgáltatásokat a vezérlőpultján keresztül (Apache, MySQL --> Stop gombok)
  2. Töltsük le a legújabb XAMPP verziót innen: https://sourceforge.net/projects/xampp/files/XAMPP%20Windows/ (jelenleg a legfrissebb, ahogy említettem a 8.1.2 PHP verziójú)
  3. Kattintsunk rá a verziószám mappára.
  4. Töltsük le a Windows x64 típusú zip fájlt: xampp-windows-x64-8.1.2-0-VS16.zip
  5. Nyissuk meg a zip fájlt.
  6. Közben menjünk a C:\xampp\ mappába és nevezzük át az ottani apache és php mappákat apache_old -ra és php_old -ra, hogy ha bármi baj történne, ne veszítsük el őket, hanem itt meglegyenek.
  7. A megnyitott zip fájlból az apache és a php mappákat másoljuk át a C:\xampp mappába.
  8. Indítsunk újra el a XAMPP vezérlőpultján az Apache és MySQL szolgáltatásokat.
  9. Indítsunk egy parancssort és ellenőrizzük le a PHP verzióját: php -v

Itt látható, hogy a 8.1.2-es PHP telepítésre került. Ezután következhet a Laravel frissítése a 9-es verzióra.


Composer frissítése

Ha már "itt jártam", frissítettem a Composer-t is, most a legfrissebb verzió a 2.2.7-es:

  1. Megnyitottam egy parancssort abban a mappában, ahol a composer található (nálam itt van: C:\Users\User\AppData\Local\ComposerSetup\bin , de a felhasználónév nyilván különbözhet).
  2. php composer.phar self-update parancsot kiadtam és frissült is.

Az utasítás kiadása után kapok Warning-okat, de ez abból adódik főleg, hogy ami még a PHP 7-ben nem volt probléma, például NULL paraméter átadás, azért itt már Warning-ot kapok, de ezzel most első körben nem foglalkozok, ha megkaptam az üzenetet, hogy "Upgrading to version 2.2.7 (stable channel)."


Node és npm frissítése

A Node-ot és hozzá tartozó csomagkezelőt (npm) legegyszerűbben a weboldalán keresztül letölthető telepítővel tudjuk frissíteni.


Laravel telepítő frissítése és új, 9-es verziójú projekt létrehozása

Sajnos, arra még nincsen konkrét parancs, hogy ezt "upgrade-elni" lehessen, ezért egy eltávolítással és telepítéssel vágok bele a folyamatba, majd szépen haladok a félkövéren látható parancsok kiadásával:

  1. composer global remove laravel/installer (ez a lépés opcionális, mert ha korábban nem volt telepítve a "laravel/installer", akkor nincs mit eltávolítani)
  2. composer global require laravel/installer (a 4.2-es verzió települ)
  3. A C:\xampp\htdocs mappában kiadom a következő parancsot: laravel new laravel-v9
  4. Megindul a letöltés és a telepítés.
  5. Lépjünk be a friss projektünk mappájába: cd laravel-v9
  6. php artisan --version paranccsal tudom ellenőrizni a Laravel projekt verzióját: 9.3.1.

A php artisan serve parancs kiadása után már fut is az alkalmazás kiszolgálása (jobb alul kiemeltem a látható, frissített verziószámokat):