Installera Composer och PHP-inställningar
Vi går igenom hur du installerar PHP med rätt tillägg, hanterar beroenden med Composer och bygger en ordnad projektstruktur med automatisk PSR-4-laddning.

För att installera Composer måste PHP först vara installerat och fungera i terminalen. I Windows hittar installationsprogrammet Composer-Setup.exe från getcomposer.org PHP och lägger till det i PATH. I macOS och Linux laddas composer.phar ned med installationskommandona på webbplatsen och flyttas till /usr/local/bin/composer. Om composer --version returnerar en version är installationen klar; beroenden installeras med composer install.
Vad är Composer och varför behövs det?
Composer är PHP-projektens beroendehanterare. Det laddar ned de bibliotek ditt projekt behöver, med kompatibla versioner, och låter dig hantera dem från en enda fil. Det Composer är för PHP är vad npm är för JavaScript och pip för Python.
Composers andra stora bidrag är automatisk laddning (autoload). I stället för att skriva dussintals require-rader inkluderar du en enda fil; klasserna laddas automatiskt när de behövs. Moderna PHP-ramverk som Laravel och Symfony bygger helt och hållet på Composer.
Biblioteken publiceras i det allmänna förrådet Packagist. Composer väljer lämpliga paket från det förrådet enligt versionsreglerna i din composer.json och installerar allt i mappen vendor.
| Fil / mapp | Uppgift | Läggs till i Git? |
|---|---|---|
| composer.json | Beroenden, versionsregler, autoload-inställning | Ja |
| composer.lock | Exakt version av varje installerat paket | Ja (i applikationer) |
| vendor/ | Nedladdade paket och autoload-filer | Nej |
Installera PHP: Windows, macOS, Linux
Composer är ett PHP-program, så PHP måste först fungera i kommandoraden. Om XAMPP är installerat på din dator kan du använda PHP i det; detaljer finns i vår guide installera XAMPP. Vill du installera en fristående PHP går du vidare efter ditt operativsystem.
php -v
# Installerade tillägg
php -m
# Använd php.ini-fil
php --iniPHP i Windows
Ladda ned zip-filen för den aktuella stabila versionen, x64 Thread Safe, från windows.php.net och packa upp den i en kort mapp som C:\php. Skapa en kopia av filen php.ini-development i mappen med namnet php.ini och lägg till mappen C:\php i systemets PATH.
Slå på tilläggen som Composer och de flesta paket behöver i php.ini genom att ta bort semikolonet i början av raden:
extension_dir = "ext"
extension=curl
extension=fileinfo
extension=mbstring
extension=openssl
extension=pdo_mysql
extension=zipPHP i macOS och Linux
I macOS räcker ett enda kommando med Homebrew. I Ubuntu och Debian installerar du PHP:s kommandoradspaket tillsammans med vanliga tillägg och verktyget unzip; Composer behöver tillägget unzip eller zip när paket packas upp.
brew install phpsudo apt update
sudo apt install php-cli php-mbstring php-xml php-curl php-zip unzipInstallera Composer steg för steg
I Windows är det enklaste sättet installationsprogrammet Composer-Setup.exe från getcomposer.org. Installationsprogrammet hittar php.exe på din dator, meddelar saknade inställningar och lägger till kommandot composer i PATH. Stäng och öppna alla öppna terminaler igen efter installationen.
I macOS och Linux installeras Composer med kommandot på fyra rader på nedladdningssidan. Ett av kommandona verifierar den nedladdade filens kontrollsumma (hash) och den ändras i varje version; kopiera därför alltid kommandona i aktuellt skick från den officiella sidan. Installationen skapar filen composer.phar i mappen du befinner dig i; genom att flytta den till en global plats kan du köra den överallt genom att skriva composer.
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
# (hashverifieringsraden på den officiella sidan)
php composer-setup.php
php -r "unlink('composer-setup.php');"
# Flytta för allmän användning
sudo mv composer.phar /usr/local/bin/composercomposer --version
composer diagnosecomposer install och grundläggande kommandon
I ett nytt projekt skapar composer init en composer.json med interaktiva frågor. Har du klonat ett befintligt projekt behöver du bara köra composer install: Composer installerar exakt de versioner som anges i filen composer.lock.
composer require lägger till ett nytt paket och uppdaterar composer.json och composer.lock. composer update uppgraderar i stället till de nyaste versionerna inom det tillåtna versionsintervallet; därför bör det användas medvetet i ett team.
- Versionsregeln ^2.0 tillåter alla versioner inom 2.x men går inte över till 3.0.
- Dela filen composer.lock; alla i teamet och servern installerar då samma versioner.
- Lägg inte till mappen vendor i Git; skriv den i .gitignore.
# Skapa en ny projektfil
composer init
# Paket ekle
composer require guzzlehttp/guzzle
# Paket som bara behövs vid utveckling
composer require --dev phpunit/phpunit
# Installera enligt låsfilen
composer install
# Uppdatera versioner
composer update
composer outdated
# Ta bort paket och lista
composer remove guzzlehttp/guzzle
composer showSäkerhetsgranskning
Kontrollera om paketen du använder har kända säkerhetshål med kommandot composer audit. Kommandot jämför versionerna i låsfilen med öppna databaser och listar de berörda paketen. Att köra kontrollen efter varje uppdatering och med jämna mellanrum hindrar att ett gammalt bibliotek sätter din webbplats i riskzonen.
composer auditComposer-skript
I fältet scripts i composer.json kan du skriva kommandon du ofta använder, till exempel ett testskript som kör testerna. De här skripten körs med composer run-script test eller kort composer test. På så sätt använder alla i teamet samma kommando med samma parametrar, och en ny utvecklare ser med en blick hur projektet testas.
Automatisk laddning med PSR-4
Använd Composer inte bara för externa paket utan också för att organisera din egen kod. I PSR-4-standarden motsvarar varje namnrymd (namespace) en mapp; till exempel finns klassen App\Servis\Fatura i filen src/Servis/Fatura.php.
När du har lagt till inställningen i composer.json kör du kommandot composer dump-autoload. Sedan räcker det att inkludera bara vendor/autoload.php i projektets startfil.
{
"require": {
"php": ">=8.1"
},
"autoload": {
"psr-4": {
"App\\": "src/"
}
}
}<?php
require __DIR__ . '/vendor/autoload.php';
use App\Servis\Fatura;
$fatura = new Fatura();composer dump-autoloadInstallation på en live-server
På en live-server behövs inga utvecklingspaket, och en optimerad autoloader sparar tid vid varje förfrågan. Använd kommandot nedan vid driftsättning; --no-dev utelämnar testverktygen och --optimize-autoloader bygger klasskartan i förväg.
Den här lilla inställningen ger en positiv effekt på svarstiden, särskilt i projekt med många klasser. Sådana förbättringar på serversidan hanterar vi som en del av vårt arbete med hastighet och prestanda.
Det är också en bra vana att köra kommandot composer validate lokalt före driftsättning: det kontrollerar stavfel i composer.json och om låsfilen är aktuell. På så sätt minskar risken att du stöter på en halvfärdig installation på servern.
- PHP-versionen på servern måste uppfylla php-regeln i composer.json.
- Om du använder en annan PHP-version lokalt kan du efterlikna serverns version med inställningen config.platform.php i composer.json.
- För att få miljöerna exakt lika är det också ett alternativ att köra PHP i en container; se installera Docker.
composer install --no-dev --optimize-autoloaderVanliga fel och lösningar
De flesta Composer-fel beror på saknade PHP-tillägg, en inkompatibel PHP-version och minnesgränsen. Kommandot composer diagnose upptäcker många problem själv.
- kommandot php känns inte igen: PHP-mappen finns inte i PATH; lägg till den och öppna terminalen igen.
- openssl-tillägget saknas: slå på raden extension=openssl i php.ini; kontrollera med php --ini att du redigerar rätt php.ini-fil.
- zip-tillägget och kommandot unzip saknas: slå på raden extension=zip i Windows och installera paketen php-zip och unzip i Linux.
- Your requirements could not be resolved: Paketet stöder inte din installerade PHP-version eller versionen av ett annat paket. Läs kravet i felmeddelandet och välj PHP- eller paketversion därefter.
- Allowed memory size exhausted: Kör kommandot som COMPOSER_MEMORY_LIMIT=-1 composer update eller höj värdet memory_limit i php.ini.
Nästa steg med Composer
De flesta PHP-projekt arbetar med en databas. Innan du kopplar in ett databaslager som du installerat med Composer kan du förbereda din lokala server med vår guide installera MySQL. Mer PHP-innehåll hittar du på sidan php-taggen.
Korrekt uppsatt beroendehantering gör att en företagswebbplats eller ett integrationsprojekt som kopplas till betal- och fraktjänster kan uppdateras tryggt under årens lopp. Auroras e-handelsplattform utvecklas också utan färdiga teman, med en design som är unik för varje företag.
Vanliga frågor
01Måste jag installera Composer separat för varje projekt?
Nej. Composer installeras globalt en gång på datorn. Varje projekt har sin egen composer.json och mapp vendor; paketen installeras separat från projekt till projekt. Eftersom Composer håller de nedladdade paketen i en cache går installationen snabbare i det andra projektet.
02Vad är skillnaden mellan composer install och composer update?
composer install installerar exakt de versioner som anges i composer.lock och ändrar inte låsfilen. composer update letar i stället efter nyare versioner enligt versionsreglerna och uppdaterar låsfilen; därför används install på servrar.
03Går det att använda Composer på delat webbhotell?
Om ditt webbhotell ger SSH-åtkomst går det oftast. Saknas SSH är en lösning att installera beroendena lokalt med composer install --no-dev och ladda upp mappen vendor via filöverföring; se till att PHP-versionerna är kompatibla.
När du installerat PHP med rätt tillägg och lagt till Composer i PATH kan du hantera beroenden med composer install på några minuter och bygga en ordnad kodstruktur med PSR-4. Vill du ha ett PHP-baserat system eller en webbapplikation som är skräddarsydd för ditt företag och lätt att underhålla kan du läsa om Aurora Yazılıms skräddarsydda systemlösningar eller kontakta oss.


