Introduksjon
Forutsetninger
Trinn 1: Installer avhengigheter for Composer-programmet
Trinn 2: Installer Composer-programmet
Trinn 3: Bruk Composer til å installere avhengigheter
Valgfritt: XDebug-advarsel
Introduksjon
Composer er en populær avhengighetsbehandler for PHP som kan forenkle installasjonen og oppdateringen av biblioteker som er nødvendige for prosjektet ditt. I dag er det i ferd med å bli de-facto-standarden på dette området på grunn av dens enestående bekvemmelighet og brukervennlighet.
I motsetning til Yum eller Apt, installerer eller oppdaterer Composer aldri noen kode eller pakker på systemnivå. I stedet administreres kodepakker og biblioteker innenfor prosjektets egen katalog på prosjektbasis.
I denne opplæringen vil jeg vise deg hvordan du installerer og bruker Composer for å administrere avhengighetene til et PHP-prosjekt. Disse trinnene ble skrevet for en CentOS 6-basert Vultr LEMP-server.
Forutsetninger
- Distribuer en CentOS 6-serverforekomst med PHP (ikke lavere enn 5.3.2, 5.3.4 eller høyere ville være bedre) installert.
- Logg inn som en vanlig bruker med sudo-tillatelser. Du kan finne hvordan du oppretter en slik bruker i denne artikkelen .
Trinn 1: Installer avhengigheter for Composer-programmet
sudo yum update
sudo yum install curl git php55u-cli.x86_64
Trinn 2: Installer Composer-programmet
Composer kan installeres enten lokalt eller globalt. Lokal installasjon kan gi deg mer fleksibilitet for hvert enkelt prosjekt og unngå tillatelsesproblemer mens global installasjon er mer praktisk med en systemomfattende kjørbar.
For å installere lokalt
Slik installerer du Composer lokalt i prosjektkatalogen din ~/myproject:
cd ~
mkdir myproject
cd myproject
curl -sS https://getcomposer.org/installer | php
Composer-programmet, en PHP-arkivfil kalt composer.phar, vil bli lastet ned til prosjektkatalogen din.
Du kan teste installasjonen med kommandoen php composer.phar.
For å installere globalt
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
Når den er installert, kan du bruke kommandoen composerhvor som helst i stedet for å bruke den php composer.phari en bestemt prosjektkatalog. For enkelhets skyld vil jeg bruke den globale kommandoen composeri de følgende delene.
Trinn 3: Bruk Composer til å installere avhengigheter
For å installere avhengigheter med Composer må du først lage en fil som kalles composer.jsoni prosjektkatalogen din. Denne filen definerer alle nødvendige avhengigheter. For eksempel kan innholdet i en composer.jsonfil som krever "psr/log"-biblioteket være slik:
{
"require": {
"psr/log": "1.0.0"
}
}
Her representerer "psr/log" "leverandør/pakke", "1.0.0" representerer "versjonsnummer". Begge de to elementene kan bli funnet på Composers standard depotside packagist.org .
Hvis du trenger andre biblioteker, legg til et komma og en ny linje for hver av dem:
{
"require": {
"psr/log": "1.0.0",
"phpunit/php-timer": "1.0.7",
"symfony/event-dispatcher": "3.0.0"
}
}
Kjør deretter følgende kommando for å installere bibliotekene du har spesifisert. Eventuelle biblioteker som valgene dine avhenger av vil også bli installert automatisk.
composer install
Alle installerte biblioteker vil bli lagret i ./vendorkatalogen.
Hver gang du endrer innholdet i composer.json, eller når du vil sjekke om det er nye versjoner, bør du kjøre oppdateringskommandoen:
composer update
Noen av bibliotekene gir også autoload-informasjon. Du kan laste dem automatisk ved å legge til følgende setning i prosjektkoden din:
require __DIR__ . '/vendor/autoload.php';
Det er det. Du er nå klar til å administrere prosjektets avhengigheter med Composer. For mer informasjon, besøk Composers offisielle nettsted .
Nyt!
Valgfritt: XDebug-advarsel
Du kan se advarselen "Du kjører composer med xdebug aktivert..." når du bruker Composer. I så fall kan du løse advarselen ved å følge disse trinnene.
Endre konfigurasjonen av PHP i filen /etc/php.d/15-xdebug.ini:
sudo vi /etc/php.d/15-xdebug.ini
Kommenter linjen zend_extension=xdebug.somed en ;:
;zend_extension=xdebug.so
Lagre og avslutt:
:wq
Start deretter systemet på nytt:
sudo reboot