PHP Composer’ı Paylaşımlı/Sanal Hosting’e Nasıl Kuracaksınız: Tam Bir Rehber
PHP Composer, PHP için fiili standart bağımlılık yöneticisidir ve geliştiricilerin projelerinin bağlı olduğu kütüphaneleri bildirmesini, kurmasını ve yönetmesini sağlar. Bir Laravel uygulaması, bir Symfony API’si veya özel bir PHP projesi oluşturuyor olsanız da, Composer iş akışınızda vazgeçilmez bir araçtır.
Bu kapsamlı kılavuz, SSH erişiminden küresel yapılandırmaya ve gerçek dünya kullanımına kadar — sanal veya paylaşılan barındırma ortamında PHP Composer yüklemesinin her adımında size yol gösterir.
PHP Composer Nedir ve Neden İhtiyacınız Vardır?
PHP Composer, proje düzeyinde bağımlılık yönetimini işleyen bir paket yöneticisidir. Kütüphaneleri manuel olarak indirmek ve otomatik yüklemeyi yönetmek yerine, Composer bağımlılıkları otomatik olarak çözer, doğru sürümleri indirir ve optimize edilmiş bir otomatik yükleyici oluşturur.
Temel faydalar şunları içerir:
- Otomatik bağımlılık çözümü — Composer sürüm çatışmalarını ve iç içe bağımlılıkları işler.
- Tekrarlanabilir derlemeler —
composer.lockdosyası, her ekip üyesinin ve dağıtım ortamının aynı paket sürümlerini kullanmasını sağlar. - Geniş ekosistem — Varsayılan Composer deposu olan Packagist’te 350.000’den fazla pakete erişim.
- PSR-4 otomatik yükleme — Kod tabanınız genelinde manuel
requireveincludeifadelerini ortadan kaldırır.
PHP uygulamalarını Paylaşılan Web Barındırma veya bir VPS Barındırma ortamında çalıştırıyorsanız, Composer yüklemesi profesyonel, bakımlanabilir bir geliştirme iş akışına doğru ilk adımlardan biridir.
Ön Koşullar
Başlamadan önce, aşağıdaki gereksinimlerin karşılandığını doğrulayın:
| Gereksinim | Ayrıntılar |
|---|---|
| Barındırma erişimi | Barındırma hesabınızda SSH erişimi etkinleştirilmiş |
| PHP sürümü | PHP 7.2 veya daha yüksek (PHP 8.x kuvvetle önerilir) |
| PHP uzantıları | openssl, phar, mbstring, json etkinleştirilmiş olmalıdır |
| İzinler | Ana dizininize veya $PATH içindeki bir dizine yazma yeteneği |
| Terminal istemcisi | Terminal (macOS/Linux) veya PuTTY / Windows Terminal (Windows) |
> Not: SSH erişimi olmayan yönetilen paylaşılan barındırma planında iseniz, etkinleştirmesi için barındırma sağlayıcınıza başvurun. AlexHost’un Paylaşılan Web Barındırma planları SSH erişimi içerir ve ihtiyacınız olan kontrolü sağlar.
Adım 1: SSH Aracılığıyla Sunucunuza Bağlanın
Terminal uygulamanızı açın ve barındırma hesabınıza bir SSH bağlantısı kurun:
ssh username@yourdomain.comusername yerine gerçek SSH kullanıcı adınızı ve yourdomain.com yerine alan adınızı veya sunucu IP adresinizi yazın.
Örnek:
ssh john@203.0.113.45Kimlik doğrulamasından sonra, ana dizininize inersiniz (genellikle /home/username/). Mevcut konumunuzu şu komutla doğrulayabilirsiniz:
pwdAdım 2: PHP’nin Kullanılabilir Olduğunu Doğrulayın
Composer’ı indirmeden önce, PHP’nin yüklü olduğunu ve komut satırından erişilebildiğini doğrulayın:
php -vŞuna benzer bir çıktı görmelisiniz:
PHP 8.2.10 (cli) (built: Sep 5 2023 08:15:22) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.10, Copyright (c) Zend TechnologiesPHP bulunamazsa veya sürüm 7.2’nin altındaysa, barındırma sağlayıcınıza başvurun veya ortamınızı yükseltin. VPS Barındırma planında olan kullanıcılar, gerektiğinde PHP sürümlerini yüklemek veya güncellemek için tam kontrole sahiptir.
Ayrıca gerekli uzantıların yüklü olduğunu doğrulayın:
php -m | grep -E 'openssl|phar|mbstring|json'Dört uzantının tümü çıktıda görünmelidir.
Adım 3: Composer Yükleyicisini İndirin
Composer, resmi bir PHP tabanlı yükleyici betiği sağlar. Aşağıdaki komutu kullanarak indirin:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"Bu, composer-setup.php yükleyici betiğini mevcut çalışma dizininize indirir.
Adım 4: Yükleyici Bütünlüğünü Doğrulayın
Bu adım güvenlik için kritiktir. Dosyanın kurcalanmadığından veya indirme sırasında bozulmadığından emin olmak için yükleyiciyi çalıştırmadan önce her zaman SHA-384 hash’ini doğrulayın.
4a. Resmi Composer Genel Anahtarları sayfasından beklenen hash’i alın:
En son yükleyici hash’ini almak için https://composer.github.io/pubkeys.html adresini ziyaret edin.
4b. Doğrulama komutunu çalıştırın:
HASH="$(php -r "echo hash_file('sha384', 'composer-setup.php');")"Ardından yayınlanan hash ile karşılaştırın:
php -r "if (hash_file('sha384', 'composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"“Installer verified” görürseniz devam edin. “Installer corrupt” görürseniz hemen durdurun, dosyayı silin ve yeniden indirin.
Alternatif olarak, resmi Composer belgelerindeki tek satırlık komutu kullanabilirsiniz, EXPECTED_HASH yerine genel anahtarlar sayfasındaki değeri yazın:
php -r "if (hash_file('sha384', 'composer-setup.php') === 'EXPECTED_HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"Adım 5: Composer Yükleyicisini Çalıştırın
Yükleyici doğrulandıktan sonra, Composer’ı yüklemek için çalıştırın:
php composer-setup.phpBaşarılı yürütme sonrasında, şuna benzer bir çıktı göreceksiniz:
All settings correct for using Composer
Downloading...
Composer (version 2.x.x) successfully installed to: /home/username/composer.phar
Use it: php composer.pharŞimdi mevcut dizininizde bir composer.phar dosyası oluşturulmuştur. Bu aşamada, php composer.phar çağırarak Composer’ı zaten kullanabilirsiniz, ancak onu küresel olarak erişilebilir hale getirmek çok daha uygun olur.
Adım 6: Yükleyici Betiğini Temizleyin
Artık gerekli olmadığı için kurulum betiğini kaldırın:
php -r "unlink('composer-setup.php');"Adım 7: Composer’ı Küresel Olarak Yükleyin
Composer’ı sisteminizin herhangi bir yerinden sadece composer komutu kullanarak çalıştırmak için, composer.phar ikilisini sisteminizin $PATH içine dahil edilen bir dizine taşıyın.
VPS veya Dedicated Server’da (sudo erişimi ile):
sudo mv composer.phar /usr/local/bin/composer
sudo chmod +x /usr/local/bin/composerPaylaşılan Barındırmada (sudo erişimi olmadan):
sudo ayrıcalıklarınız yoksa, Composer’ı ana dizininiz içinde yerel olarak yükleyin:
mkdir -p ~/bin
mv composer.phar ~/bin/composer
chmod +x ~/bin/composerArdından ~/bin öğesini $PATH öğesine ekleyin ve aşağıdaki satırı ~/.bashrc veya ~/.bash_profile öğesine ekleyin:
export PATH="$HOME/bin:$PATH"Shell yapılandırmasını yeniden yükleyin:
source ~/.bashrc> Pro İpucu: Tam kök erişime ihtiyacınız varsa ve PHP ortamınız üzerinde daha fazla kontrol istiyorsanız, bir VPS Barındırma planına veya sınırsız sistem düzeyinde yapılandırma için bir Dedicated Server öğesine yükseltmeyi düşünün.
Adım 8: Yüklemeyi Doğrulayın
Composer’ın küresel olarak yüklü ve erişilebilir olduğunu doğrulayın:
composer --versionBeklenen çıktı:
Composer version 2.x.x 2024-xx-xx xx:xx:xxOrtamınızın tam tanısı için şu komutu çalıştırın:
composer diagnoseBu komut PHP yapılandırmanızı, ağ bağlantısını ve Composer ayarlarını kontrol eder, olası sorunları bildirir.
Adım 9: PHP Bağımlılıklarını Yönetmek için Composer’ı Kullanın
Composer yüklü olduğuna göre, PHP projelerinizde etkili bir şekilde nasıl kullanılacağını öğrenin.
9a. Yeni Bir Proje Başlatın
Proje dizininize gidin ve yeni bir Composer projesi başlatın:
cd /path/to/your/project
composer initEtkileşimli sihirbaz sizden şunları isteyecektir:
- Paket adı (örn.
yourname/project) - Açıklama
- Yazar bilgileri
- Minimum istikrar
- Gerekli bağımlılıklar
Bu, projenizin bağımlılık yapılandırmasının kalbi olan bir composer.json dosyası oluşturur.
9b. Bir Paket Yükleyin
Projenize bir kütüphane eklemek için require komutunu kullanın:
composer require vendor/package-nameGerçek dünya örnekleri:
# Install Guzzle HTTP client
composer require guzzlehttp/guzzle
# Install Carbon date library
composer require nesbot/carbon
# Install Monolog logging library
composer require monolog/monologComposer bağımlılıkları çözer, paketleri vendor/ dizinine indirir ve composer.json ile composer.lock öğelerini günceller.
9c. composer.json’dan Tüm Bağımlılıkları Yükleyin
Bir projeyi dağıtırken veya bir depoyu klonlarken, tüm bildirilen bağımlılıkları şu komutla yükleyin:
composer installÜretim ortamları için, geliştirme amaçlı paketleri atlamak üzere --no-dev bayrağını kullanın:
composer install --no-dev --optimize-autoloader9d. Bağımlılıkları Güncelleyin
Tüm paketleri izin verilen en son sürümlerine güncellemek için:
composer updateBelirli bir paketi güncellemek için:
composer update vendor/package-name9e. Otomatik Yükleme
Composer otomatik olarak bir otomatik yükleyici oluşturur. Bunu PHP giriş noktanızın en üstüne dahil edin:
<?php
require 'vendor/autoload.php';Bu tek satır, yüklü tüm paketlere ve composer.json içinde tanımladığınız özel ad alanlarına erişim sağlar.
Yaygın Sorunları Giderme
| Sorun | Neden | Çözüm |
|---|---|---|
composer: command not found | İkili $PATH içinde değil | Yükleme dizinini $PATH öğesine ekleyin ve shell’i yeniden yükleyin |
| ###PPT_NOTR_65 |
