Ana sayfa Blog Plesk’te Composer Nasıl Kullanılır? PHP Composer Rehberi

Plesk’te Composer Nasıl Kullanılır? PHP Composer Rehberi

Plesk’te Composer Nasıl Kullanılır? PHP Composer Kurulum ve Kullanım Rehberi

Plesk’te Composer kullanmak, PHP tabanlı modern uygulamaların bağımlılıklarını yönetmek için oldukça önemlidir. Özellikle Laravel, Symfony ve Composer tabanlı diğer PHP projelerinde gerekli paketleri kurmak, güncellemek ve production ortamına hazırlamak için Composer kullanabiliriz.

Plesk, PHP sürümlerini ayrı ayrı yönetmemize ve uygulama bazında farklı PHP yapılandırmaları kullanmamıza olanak sağlar. Laravel Toolkit bulunan sistemlerde Composer komutlarını doğrudan Plesk arayüzünden çalıştırmak da mümkündür.

Bu rehberde Plesk üzerinde Composer kullanımını, SSH üzerinden Composer komutlarını, Laravel projelerinde Composer işlemlerini ve sık karşılaşılan hataları adım adım anlatıyoruz.

Composer Nedir?

Composer, PHP projeleri için kullanılan bir dependency manager yani bağımlılık yöneticisidir.

Örneğin Laravel projemizde:

laravel/framework
guzzlehttp/guzzle
monolog/monolog

gibi paketler kullanıyorsak bunların yönetimini Composer üzerinden yapabiliriz.

Composer temel olarak composer.json dosyasındaki bağımlılıkları yönetir ve gerekli paketleri vendor klasörüne yükler.

Plesk’te Composer Kullanmak Ne İşe Yarar?

Plesk sunucusunda Composer kullanarak PHP uygulamalarımızın bağımlılıklarını doğrudan sunucu üzerinde yönetebiliriz.

Örneğin:

  • Laravel kurulumu
  • PHP paketlerinin yüklenmesi
  • Bağımlılıkların güncellenmesi
  • Production deployment
  • Composer autoload oluşturulması
  • Güvenlik güncellemeleri

gibi işlemleri gerçekleştirebiliriz.

Composer resmi web sitesinden güncel Composer sürümlerini ve resmi dokümantasyonu inceleyebilirsiniz.

Plesk’te Composer Var mı?

Plesk sürümüne ve sunucudaki yapılandırmaya göre Composer desteği farklı şekillerde kullanılabilir. Özellikle PHP tabanlı uygulamalarda Composer komutlarını SSH üzerinden çalıştırabiliriz. Laravel Toolkit kullanılan sistemlerde ise Composer işlemleri Plesk arayüzünden de yönetilebilir.

Plesk ayrıca birden fazla PHP sürümünü aynı sunucu üzerinde yönetmemize izin verir. Bu nedenle Composer işlemini uygulamanın kullandığı PHP sürümüyle uyumlu şekilde çalıştırmak önemlidir.

Plesk PHP Settings dokümantasyonunu inceleyebilirsiniz.

Plesk’te Composer Kurulumu

Linux tabanlı bir Plesk sunucusunda Composer kullanmak için öncelikle SSH erişimimizin olması gerekir.

Sunucuya bağlandıktan sonra Composer’ın mevcut olup olmadığını kontrol edebiliriz:

composer --version

Composer kuruluysa benzer bir sürüm bilgisi görürüz:

Composer version 2.x.x

Komut bulunamıyorsa sistemde Composer kurulumu veya Plesk’in sunduğu Composer yapılandırması kontrol edilmelidir.

Plesk’te Composer ile PHP Projesi Kurmak

Composer kullanan bir PHP projesini Plesk sunucusuna yüklediğimizi düşünelim.

Örneğin:

/var/www/vhosts/example.com/httpdocs/myapp

klasöründe:

composer.json
composer.lock
public/
app/
vendor/

gibi dosyalar bulunabilir.

Henüz vendor klasörü yoksa proje dizininde:

composer install

komutunu çalıştırabiliriz.

composer install ile composer update Arasındaki Fark

Production sunucularında en önemli Composer konularından biri install ve update farkıdır.

composer install

composer.lock dosyasındaki sabitlenmiş paket sürümlerini yükler.

composer install

Deployment sırasında genellikle tercih edilen yöntem budur.

composer update

Bağımlılıkların yeni uygun sürümlerini çözümlemeye ve composer.lock dosyasını güncellemeye çalışır.

composer update

Production sunucusunda her deployment öncesi rastgele composer update çalıştırmak yerine bağımlılıkları geliştirme ortamında güncelleyip oluşan lock dosyasını deployment ile taşımak daha kontrollü bir yaklaşım sağlar.

Plesk’te Composer Install Nasıl Çalıştırılır?

Projenin bulunduğu klasöre geçiyoruz:

cd /var/www/vhosts/example.com/httpdocs/myapp

Ardından:

composer install

komutunu çalıştırıyoruz.

Production ortamında PHP uygulamaları için genellikle gereksiz development bağımlılıklarını yüklememek amacıyla:

composer install --no-dev --optimize-autoloader

gibi bir komut tercih edilebilir.

Plesk’te Laravel Composer Kullanımı

Laravel projelerinde Composer neredeyse temel bileşenlerden biridir. Laravel Toolkit kullanıyorsak Composer komutlarını Plesk arayüzünden de çalıştırabiliriz.

Plesk’in resmi Laravel Toolkit dokümantasyonuna göre Laravel uygulamasının yönetim ekranında Artisan, Composer ve Node.js komutları çalıştırılabilir.

Plesk Laravel Toolkit resmi dokümantasyonunu inceleyebilirsiniz.

Plesk Laravel Toolkit ile Composer Kullanma

Laravel Toolkit kuruluysa:

Websites & Domains
→ Laravel

alanına giderek Composer ile ilgili işlemleri Plesk arayüzünden yönetebiliriz.

Bu yöntem özellikle SSH kullanmak istemeyen veya proje yönetimini Plesk üzerinden gerçekleştiren kullanıcılar için oldukça kullanışlıdır.

Plesk’te Composer Autoload Yenileme

Projeye yeni bir PHP sınıfı veya paket eklendiğinde autoload dosyalarının güncellenmesi gerekebilir.

Bunun için:

composer dump-autoload

komutunu çalıştırabiliriz.

Production ortamında optimize edilmiş autoloader oluşturmak için:

composer dump-autoload --optimize

kullanılabilir.

Plesk’te Composer Paket Güncelleme

Belirli bir Composer paketini güncellemek istediğimizde Composer’a ilgili paketin adını verebiliriz.

Örneğin:

composer update laravel/framework

Ancak framework gibi temel paketleri güncellemeden önce uygulamanın sürüm gereksinimlerini ve uyumluluğunu kontrol etmemiz gerekir.

Plesk Composer Memory Limit Hatası

Composer işlemleri bazı büyük projelerde yüksek miktarda RAM kullanabilir.

Örneğin:

Allowed memory size exhausted

gibi bir hata görürsek PHP CLI memory limit ayarını kontrol etmemiz gerekir.

Plesk üzerinde PHP ayarları alan bazında veya sunucu seviyesinde yapılandırılabilir.

Örneğin:

memory_limit = 512M

gibi daha yüksek bir değer bazı projelerde gerekebilir. Ancak RAM’i sınırlı sunucularda gereksiz şekilde çok yüksek memory limit belirlemek doğru değildir.

Plesk’te Composer PHP Sürümü Uyumsuzluğu

Composer paketlerinin gerektirdiği PHP sürümü ile projenin Plesk üzerinde kullandığı PHP sürümü aynı olmayabilir.

Örneğin:

composer.json
requires PHP >= 8.2

Plesk Domain
uses PHP 8.1

durumunda bağımlılık kurulumu veya uygulamanın çalışması sorun çıkarabilir.

Plesk üzerinde domain bazında PHP sürümünü kontrol etmek için:

Websites & Domains
→ Domain
→ PHP

alanını kullanabiliriz.

Plesk farklı PHP sürümlerini aynı sunucuda çalıştırmayı desteklediği için her domain için ihtiyaca uygun PHP sürümü seçilebilir.

Plesk’te Doğru PHP CLI Sürümünü Kullanma

Komut satırında kullanılan PHP sürümünün web sitesinde kullanılan PHP sürümünden farklı olabileceğini unutmamalıyız.

Plesk for Linux’ta belirli PHP sürümünü doğrudan çalıştırmak için Plesk’in PHP binary yolunu kullanabiliriz.

Örneğin:

/opt/plesk/php/8.3/bin/php -v

ve Composer işlemlerini gerektiğinde bu PHP sürümüyle çalıştırabiliriz.

/opt/plesk/php/8.3/bin/php /usr/local/bin/composer install

Composer’ın gerçek konumu sunucudaki kurulum şekline göre değişebilir.

Plesk’in PHP CLI binary konumları hakkında resmi PHP command line dokümantasyonuna göz atabilirsiniz.

Plesk’te Composer ile Git Deployment

Composer özellikle Git tabanlı deployment süreçlerinde çok sık kullanılır.

Örneğin:

Git Repository
      ↓
Plesk Deployment
      ↓
composer install
      ↓
Application

şeklinde bir deployment akışı oluşturabiliriz.

Laravel Toolkit veya Git desteği kullanılan Plesk sunucularında bu süreç daha kontrollü şekilde yönetilebilir.

Plesk’te Composer ile Laravel Production Deployment

Laravel uygulamasını production sunucusuna aktardıktan sonra tipik bir işlem sırası şöyle olabilir:

git pull

composer install --no-dev --optimize-autoloader

php artisan migrate --force

php artisan config:cache

php artisan route:cache

php artisan view:cache

Buradaki komutların tamamı her Laravel projesi için aynı anda gerekli değildir. Uygulamanın Laravel sürümüne ve deployment mimarisine göre uygun olanlar kullanılmalıdır.

Plesk’te Composer Güvenliği

Composer kullanırken yalnızca paket kurulumu değil, tedarik zinciri güvenliği de dikkate alınmalıdır.

  • Güvenilir paketleri tercih edin.
  • composer.lock dosyanızı source control altında tutun.
  • Production ortamında gereksiz development paketlerini yüklemeyin.
  • Kullanılmayan paketleri kaldırın.
  • Paket güncellemelerini kontrol ederek uygulayın.

Özellikle üçüncü taraf PHP paketleri kullanan projelerde bağımlılıkları düzenli olarak gözden geçirmek önemlidir.

Plesk’te Composer Çalışmıyor Sorunu

Composer komutları çalışmıyorsa aşağıdaki noktaları kontrol edebiliriz:

  • Composer kurulumu
  • PHP CLI sürümü
  • PHP extension’ları
  • Dosya izinleri
  • RAM ve memory limit
  • composer.json syntax
  • composer.lock dosyası
  • Paketlerin PHP sürüm gereksinimleri

Örneğin Composer’ın PHP sürümünü kontrol etmek için:

composer check-platform-reqs

komutu da kullanılabilir.

Plesk’te Composer Extension Eksikliği

Bazı Composer paketleri belirli PHP extension’larına ihtiyaç duyabilir.

Örneğin:

ext-mbstring
ext-curl
ext-fileinfo
ext-openssl
ext-pdo

gibi gereksinimler olabilir.

Eksik bir extension varsa Composer kurulum sırasında bunu hata mesajında belirtebilir.

Plesk üzerinden ilgili PHP sürümünün extension ayarlarını kontrol edebiliriz.

Plesk, PHP extension’larını PHP sürümüne göre ayrı ayrı yönetme imkanı sunmaktadır.

Plesk’te Composer Kullanmanın Avantajları

Composer’ı Plesk ile birlikte kullanmak özellikle modern PHP uygulamalarında önemli kolaylıklar sağlar.

  • Laravel projelerini yönetebiliriz.
  • PHP bağımlılıklarını merkezi şekilde kontrol edebiliriz.
  • Git deployment süreçlerine Composer ekleyebiliriz.
  • Birden fazla PHP sürümünü yönetebiliriz.
  • Production deployment işlemlerini standardize edebiliriz.

Uygun Fiyatlı Plesk Lisansı ile PHP Projelerinizi Yönetin

Laravel, Symfony, WordPress ve diğer PHP uygulamalarını VPS veya dedicated sunucu üzerinde çalıştırırken Plesk, web yönetimini tek panel altında toplamak isteyen kullanıcılar için pratik bir çözüm sunabilir.

Sunucu yönetim maliyetinizi optimize etmek istiyorsanız ucuz Plesk Lisansı seçeneklerimizi inceleyebilirsiniz.

Lisans maliyetinin yanında uygulamanızın ihtiyaç duyduğu CPU, RAM, PHP sürümü, disk ve veritabanı kaynaklarını da birlikte planlamanızı öneriyoruz.

Sonuç

Plesk’te Composer kullanmak, modern PHP projelerinin bağımlılık yönetimini kolaylaştırır. Özellikle Laravel gibi Composer tabanlı framework’lerde Plesk ile PHP sürümünü ve uygulama ortamını birlikte yönetebiliriz.

Production ortamında composer install kullanmak, composer.lock dosyasını korumak ve gereksiz development paketlerini yüklememek daha kontrollü bir deployment süreci oluşturabilir.

Composer sorunlarında ise ilk olarak PHP CLI sürümü, extension’lar, memory limit, dosya izinleri ve paket gereksinimleri kontrol edilmelidir.

Sık Sorulan Sorular

Plesk’te Composer kullanılabilir mi?

Evet. Plesk üzerinde Composer, özellikle PHP ve Laravel projelerinde SSH üzerinden veya Laravel Toolkit bulunan sistemlerde Plesk arayüzü üzerinden kullanılabilir.

Plesk’te Composer nasıl kurulur?

Kurulum yöntemi sunucu ve Plesk yapılandırmasına göre değişebilir. Composer’ın kurulu olup olmadığını composer –version komutuyla kontrol edebilir ve uygun kurulum yöntemini kullanabiliriz.

Plesk’te composer install nasıl çalıştırılır?

Proje dizinine girerek composer install komutunu çalıştırabiliriz. Production ortamında gereksiz development bağımlılıklarını yüklememek için –no-dev ve optimize autoloader seçenekleri tercih edilebilir.

Plesk’te Laravel için Composer kullanılabilir mi?

Evet. Laravel Composer’a bağımlı olduğu için Plesk üzerinde Composer kullanarak Laravel paketlerini kurabilir ve güncelleyebiliriz.

Plesk’te Composer memory limit hatası nasıl çözülür?

PHP CLI memory_limit ayarını kontrol etmeliyiz. Büyük projelerde daha yüksek RAM gerekebilir ancak sunucu kaynaklarına uygun bir değer belirlenmelidir.

Plesk’te Composer PHP sürümü nasıl değiştirilir?

Domain için kullanılan PHP sürümünü Plesk PHP ayarlarından kontrol edebiliriz. CLI tarafında ise Plesk’in ilgili PHP binary yolunu kullanarak belirli bir PHP sürümüyle Composer çalıştırabiliriz.

Altyapınızı hazır tutun.

Rehberlerin arkasındaki lisans ve sunucu çözümlerini inceleyin.

Çözümleri inceleyin

Yorum yapmak için lütfen müşteri hesabınız üzerinden giriş yapın. Misafirler henüz yorum gönderemez.

Yorum yapmak için giriş yapın Müşteri hesabı oluşturun