A PHP Composer telepítése és használata Ubuntu 20.04 LTS rendszeren

Könnyedén állítsa össze PHP-projektjét azáltal, hogy a zeneszerző kezeli az összes függőséget

A Composer egy függőségkezelő eszköz a PHP számára. Eltér a hagyományos csomagkezelőtől, mint pl alkalmas és dnf, oly módon, hogy ne globálisan, rendszerszinten telepítse a csomagokat és a könyvtárakat, hanem minden projekthez külön kezelje azokat. Így ez egy függőségi kezelő és nem egy csomagkezelő.

Hasonlóan ahhoz, ahogy egy zeneszerző elővesz egy csomó hangszert, és elrendezi őket, hogy hibátlanul működjenek egy koncerten, a Composer for PHP egy csomó könyvtárat és keretrendszert használ, összecsomagolja azokat, hogy együtt dolgozhassanak, és szilárd alapot hozzon létre, amelyen egy PHP-projekt elkészíthető. összeállított.

Előfeltételek

Hozzá kell férnie egy Ubuntu 20.04 rendszerhez nem root felhasználóval sudo Felhasználói fiók. Ezenkívül telepítenie kell néhány függőséget a Composer számára, amelyek magukban foglalják php-cli PHP szkriptek futtatásához a terminálon, csomagolja ki hogy segítsen a Composernek kibontani a letöltött csomagokat és becsavar a zeneszerző telepítőszkriptjének letöltéséhez

Az összes szükséges csomag telepítéséhez frissítse az Ubuntu csomaglistát az update parancs futtatásával:

sudo apt frissítés

Ezután telepítse a php-cli, csomagolja ki és becsavar a következő paranccsal:

sudo apt install php-cli unzip curl

A rendszer felszólítja a telepítés megerősítésére, nyomja meg a gombot Y majd nyomja meg az entert. Miután teljesítette az összes előfeltételt, folytathatja a Composer telepítését.

Töltse le és telepítse a Composert

A Composer egy ügyes PHP szkriptet kínál a letöltéshez és a parancssorból történő telepítéséhez. Használnunk kell becsavar a szkript letöltéséhez biztonsági okokból ellenőrizze a hitelességét, majd futtassa a Composer telepítéséhez.

Győződjön meg arról, hogy a terminál nyitva van a kezdőkönyvtárban, majd töltse le a telepítőszkriptet a használatával becsavar:

cd ~ curl -sS //getcomposer.org/installer -o composer-setup.php

Ezután ellenőriznünk kell, hogy a letöltött telepítőszkript eredeti-e, ehhez igazítsuk az SHA-384 hash-t a Composer Public Key/Checksums oldalon találhatóhoz. Ehhez szerezze be az SHA-384 hash-t a Composer Public Key oldaláról, és tárolja azt egy shell-változóban.

Hash=`curl -sS //composer.github.io/installer.sig`

Ezután ellenőrizze, hogy sikeresen megszerezte és tárolta a hash-t a változóban a következő futtatással:

echo $Hash

Valamilyen véletlenszerű karakterlánc kimenetét kell kapnia, például ez a terminálból:

Kimenet: e0012edf3e80b6978849f5eff0d4b4e4c79ff1609dd1e613307e16318854d24ae64f26d17af3ef0bf7cfb710ca74755a

Most futtassa a következő PHP-kódot, amelyet a Composer biztosított, hogy ellenőrizze a telepítőszkript hitelességét:

php -r "if (hash_file('SHA384', 'composer-setup.php') === '$Hash') { echo 'A telepítő ellenőrizve'; } else { echo 'A telepítő sérült'; unlink('composer-setup .php'); } echo PHP_EOL;"
Kimenet: A telepítő igazolta

Ha más kimenetet lát, mint pl A telepítő sérült, akkor tudni fogja, hogy a szkript sérült, és nem biztonságos a futtatása. Töltse le újra a szkriptet a curl segítségével, majd futtassa újra a PHP kódot a terminálban a telepítési szkript ellenőrzéséhez.

A telepítő sikeres ellenőrzése után folytathatja a telepítést. Telepítheti a Composer telepítését globálisan vagy helyileg egyetlen projekthez.

Telepítse a Composert globálisan

A Composer globális telepítése rendszerszintű parancsként Zeneszerző, futtassa a következő parancsot:

sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer

A zeneszerző telepítve lesz a /usr/local/bin könyvtárat az Ubuntu 20.04 rendszeren, és a következő kimenetet fogja látni:

Kimenet: Minden beállítás megfelelő a Composer használatához Letöltés... A Composer (1.10.7-es verzió) sikeresen telepítve a következő helyre: /usr/local/bin/composer Használja: php /usr/local/bin/composer 

Ellenőrizze, hogy a Composer megfelelően telepítve van-e és működik-e a következő futtatásával:

Zeneszerző
Kimenet: ______ / ____/___ ____ ___ ____ ____ ________ _____ / / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/ / /___/ / /_/ / / / / /_/ (__ ) __/ / \____/\____/_/ /_/ /_/ .___/\____/____/\___/_/ /_/ Zeneszerző verzió 1.10.7 2020-06- 03 10:03:56 Használat: parancs [opciók] [érvek] 

Sikeresen telepítette a composer-t az Ubuntu 20.04 rendszerére. Most már használhatja a Composert a PHP-projektek függőségének kezelésére, frissítésére és telepítésére.

A Composer helyi telepítése

A Composer helyi telepítése akkor hasznos, ha nincs jogosultsága a rendszerszintű telepítésre, vagy ha csak egyetlen projekthez szeretné a Composert. A zeneszerző helyi telepítéséhez futtassa:

php composer-setup.php

A fenti parancs egy új fájlt hoz létre az aktuális könyvtárban zeneszerző.phar. A Composer szolgáltatásainak használatához át kell helyeznie ezt a fájlt a projekt gyökérmappájába. Ez a fájl az alábbi paranccsal futtatható.

php zeneszerző.phar

Zeneszerzői alapismeretek

Most, hogy telepítette a Composert az Ubuntu 20.04-es gépére, nézzük meg a Composer néhány alapját. A Composer célja, hogy megkönnyítse az egyszerű telepítést és a függőségek frissítését, és ennek érdekében sok fájlt hoz létre a projekt gyökérkönyvtárában. Nézzük meg egy projekt könyvtárszerkezetét a Composer segítségével a függőségek kezelésére.

A zeneszerző projekt gyökérstruktúrája:ProjectRoot/ ├── composer.json ├── composer.lock ├── Project.php ├── zeneszerző.phar *Csak ha helyileg telepítette a Composert └── eladó ├── autoload.php ├── Zeneszerző │ ├── ClassLoader.php │ ├── LICENC │ ├── autoload_classmap.php │ ├── ..... ├── ....... 
  • A zeneszerző.json A projekt gyökérkönyvtárában található fájl a projekt által igényelt függőségekről (csomagokról) minden információt tárol.
  • A zeneszerző.zár a projekthez verziózárolt csomagokon tárolja az információkat.
  • eladó az a könyvtár, ahol az összes csomag tárolva van, van néhány PHP szkript is, mint pl autoload.php, amely megkönnyíti a csomagok automatikus bekerülését a szállítói címtárba.
  • Végül, ha helyileg telepítette a Composert, akkor rendelkeznie kell zeneszerző.phar fájlt a projekt könyvtárában a csomagok telepítéséhez.

Mindezek a fájlok akkor jönnek létre, amikor a Zeneszerző vagy php zeneszerző.phar parancsot a projekthez tartozó csomagok első letöltéséhez és telepítéséhez. Tehát nézzük meg a Composer működését egy bemutató projekt létrehozásával.

Az első projekt létrehozása a Composer segítségével

Az első lépés egy gyökérkönyvtár létrehozása a projekthez, tehát hozzon létre egyet a következővel mkdir parancsot, és a használatával navigáljon hozzá CD parancs:

mkdir ~/ComposerDemo cd ~/ComposerDemo

Most meg kell találnunk és telepítenünk kell a demóprojektünk elkészítéséhez szükséges csomagokat/könyvtárakat. A Packagist a Composer fő tárháza, amely felsorolja az összes nyilvánosan elérhető PHP-csomagot, amely a Composerrel telepíthető.

Ebben a példában egy PHP-csomagot fogunk használni, melynek neve cakephp/chronos, ez egy egyszerű API-bővítmény a dátumhoz és az időhöz. Így egy új Composer projekt létrehozásához és a Chronos csomag telepítéséhez futtassa a következő parancsot:

zeneszerző igényel cakephp/chronos-t
Kimenet: A ^2.0-s verzió használata a cakephp/chronos fájlhoz A ./composer.json létrejött. Szerzői adattárak betöltése csomaginformációkkal Függőségek frissítése (beleértve a request-dev-et is) Csomagműveletek: 1 telepítés, 0 frissítés, 0 eltávolítás - Cakephp/chronos (2.0.5) telepítése ): Letöltés (100%) Zárolási fájl írása Automatikusan betöltődő fájlok generálása 

A igényelnek Opció lekéri és telepíti a kívánt csomagot, és létrehozza a fájlokat és könyvtárakat, mint pl zeneszerző.json, zeneszerző.zár és eladó a projekt gyökérkönyvtárában. Ezt meglátod cakephp/chronos hozzáadódik a zeneszerző.json ha a következő parancsot futtatod:

macska zeneszerző.json
Kimenet: { "require": { "cakephp/chronos": "^2.0" } } 

Ezután használjuk a Chronos-t a demo projektünkben, nyissunk meg és hozzunk létre egy PHP fájlt demo.php segítségével nano:

nano demo.php

Ezután adja hozzá a következő kódot a demo.php, a második sor, amely tartalmazza vendor/autoload.php egy Composer fájl, amely automatikusan betölti a projekthez telepített összes csomagot és könyvtárat. Mentse el a fájlt a gomb megnyomásával Ctrl+O majd a gomb megnyomásával lépjen ki a nano szerkesztőből Ctrl+X.

Hajtsa végre a demo.php a következő parancs futtatásával:

php demo.php
Kimenet: Most: 2020-06-23 17:07:45

A jövőben, amikor frissítenie kell projektje csomagjait és könyvtárait, egyszerűen futtassa a következő parancsot:

zeneszerző frissítés

A fenti parancs ellenőrzi a telepített csomagok újabb verzióját, és biztonságosan frissíti azokat anélkül, hogy megszakítaná a projektet és annak egymástól függő könyvtárait.

Megvizsgáltuk, hogyan kell telepíteni a Composert az Ubuntu 20.04-es gépre, és megnéztük azokat az alapokat, amelyeket a Composerről tudnia kell. Most megpróbálhat új projekteket felépíteni a szükséges csomagok hozzáadásával a Packagist keresésével. Ha többet szeretne megtudni a Composerről és annak lehetőségeiről, látogasson el a Composer online dokumentációs oldalára.