Composer na hostingu — zarządzanie zależnościami PHP
Ostatnia aktualizacja: czerwiec 2026
TL;DR: Zainstaluj Composera przez SSH: php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" && php
composer-setup.php. Wygeneruje composer.phar. Uruchamiaj przez php composer.phar install. Katalog vendor/ dodaj do .gitignore — nigdy nie wgrywaj przez FTP.
Instalacja Composera na hostingu przez SSH
Composer można zainstalować lokalnie w katalogu projektu — nie potrzebujesz uprawnień root.
Wymaga PHP w wersji minimum 7.2.5 i dostępu SSH.
# Połącz się przez SSH z hostingiem
ssh user@twoj-hosting.pl
# Przejdź do katalogu projektu
cd ~/public_html/mojaplikacja
# Pobierz instalator Composera
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
# Zainstaluj (tworzy plik composer.phar)
php composer-setup.php
# Usuń instalator
php -r "unlink('composer-setup.php');"
# Sprawdź instalację
php composer.phar --version
Opcjonalnie — utwórz alias żeby wpisywać composer zamiast
php composer.phar:
# Dodaj do ~/.bashrc
echo 'alias composer="php ~/public_html/composer.phar"' >> ~/.bashrc
source ~/.bashrc
# Teraz możesz używać:
composer install
Podstawowe komendy Composera
php composer.phar install
Instaluje wszystkie zależności z composer.lock (jeśli istnieje) lub
composer.json. Używaj na produkcji — gwarantuje te same wersje co w dev.
Instaluje bez pakietów developerskich (--no-dev) i optymalizuje autoloader (classmap
zamiast PSR-4 scan) — szybszy autoloading na produkcji.
php composer.phar require vendor/package:^1.0
Dodaje nową zależność do composer.json i instaluje ją.
php composer.phar update
Aktualizuje zależności do najnowszych wersji zgodnych z composer.json i aktualizuje
composer.lock. Uwaga: na produkcji używaj ostrożnie.
.gitignore i vendor/ — dobre praktyki
Katalog vendor/ należy zawsze umieścić w .gitignore — przechowuj tylko
composer.json i composer.lock.
# Plik .gitignore
/vendor/
.env
.env.local
*.log
Dlaczego nie wgrywać vendor/ przez FTP? Laravel tworzy ~15,000 plików w vendor/.
Wgrywanie przez FTP = kilka godzin + ryzyko błędów. Prawidłowy workflow: git push → SSH na serwerze
→ composer install (kilkadziesiąt sekund).
Composer używa domyślnej wersji PHP z PATH. Sprawdź i zmień na hostingu:
# Sprawdź aktualną wersję PHP
php -v
# Jeśli hosting ma wiele wersji PHP, możesz użyć konkretnej:
/usr/bin/php82 composer.phar install
# LH.pl — dostępne wersje przez which:
which php74 php80 php81 php82 php83
W pliku .htaccess możesz wybrać wersję PHP dla aplikacji webowej (np. PHP 8.2):
Tak — jeśli hosting oferuje dostęp SSH i PHP w wersji minimum 7.2.5 (Composer 2 wymaga
PHP 7.2.5+). Większość polskich hostingów współdzielonych (LH.pl, CyberFolks, Zenbox, home.pl) oferuje SSH i PHP 8.x. Zainstaluj Composera lokalnie w katalogu projektu przez SSH: php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" && php
composer-setup.php && php -r "unlink('composer-setup.php');"
Dlaczego nie powinienem wgrywać katalogu vendor/ przez FTP?
+
Katalog vendor/ może zawierać dziesiątki tysięcy plików (np. Laravel ma 15k+ plików w vendor/). Wgrywanie przez FTP zajmie godziny. Prawidłowy workflow: dodaj vendor/ do .gitignore, trzymaj tylko composer.json i composer.lock w repozytorium, uruchom composer install przez SSH na serwerze. Wyjątek: jeśli hosting nie ma SSH i nie możesz uruchomić Composera, musisz wgrać vendor/ — ale to ostateczność.
Jak wybrać wersję PHP dla Composera na hostingu?
+
Na hostingach z MultiPHP (LH.pl, CyberFolks, home.pl) możesz zmienić wersję PHP per katalog przez plik .htaccess: AddType application/x-httpd-php82 .php (dla PHP 8.2) lub przez panel cPanel → MultiPHP Manager. Composer wymaga PHP 7.2.5+; Composer
install używa wersji PHP z PATH — sprawdź przez ssh: php -v. Na DirectAdmin
zmień wersję PHP przez Extra Features → PHP Version.
Jak zautomatyzować composer install po deployu przez GitHub Actions?
+
W workflow GitHub Actions dodaj krok: uses: php-actions/composer@v6 z with: command: install, php_version: "8.2", args: --no-dev --optimize-autoloader. Alternatywnie: jeśli deployjujesz przez SSH, dodaj krok ssh po deployu plików: cd /var/www/myapp && php composer.phar install --no-dev --optimize-autoloader. Flagi --no-dev (bez zależności developerskich) i --optimize-autoloader (classmap zamiast autoloading z pliku) są kluczowe na produkcji.
Szybkie przejście do ofert związanych z tym tematem
Wybraliśmy oferty i strony z kodami rabatowymi, które najczęściej pasują do tego scenariusza użycia.
LH.pl
Dobre zaplecze pod PHP, Composer i typowe frameworki.
Twoja prywatność = Twoja decyzja. Używamy anonimowych plików cookies Google Analytics,
żeby wiedzieć które porównania hostingów są dla Ciebie przydatne. Bez Twojej zgody nie uruchamiamy
żadnych skryptów śledzących — domyślnie wszystko jest wyłączone.
Szczegóły w polityce prywatności.