İçeriğe geç
getnextpdf.com

Premium sürüm

Composer ile özel NextPDF premium paketini kurun ve kimlik doğrulayın

NextPDF premium paketleri — nextpdf/pro, nextpdf/enterprise ve nextpdf/premium meta paketi — herkese açık Packagist dizininde yayımlanmaz. Bunlar hesabınıza bağlı bir özel Composer deposunda bulunur; bu nedenle düz bir composer require nextpdf/premium komutu, siz Composer’a iki şeyi söyleyene kadar bunları bulamaz: deponun nerede olduğu ve ona nasıl kimlik doğrulanacağı.

Bu sayfa, Lisanslama ve etkinleştirme sayfasının bittiği yerden devam eder. Kimlik bilgilerini aldıktan sonra Composer’ı bir kez yapılandırır, paketi kurar ve doğrularsınız. Buradaki her şey standart Composer davranışıdır; hiçbiri NextPDF’e özgü araç değildir. Lisanslama sayfasının imzalı lisans zarfını ele aldığı gibi, depo belirtecinizi de tıpkı bir API anahtarı gibi ele alın: herkese açık sürüm denetiminden uzak tutun.

Özel depo URL’niz, kullanıcı adınız ve belirteciniz, bir lisans edindikten sonra — Merchant of Record’umuz aracılığıyla satın alarak veya bir değerlendirme başlatarak — lisans portalı üzerinden verilir. Satın alma yolu, iki sözleşmeli model (satın alma ile lisans) ve faturalandırma ile ürün yardımı için kiminle iletişime geçeceğiniz için bkz. Satın alma ve lisanslama.

Lisans portalınız kurulum için iki şey verir:

  • Premium paketleri sunan kimliği doğrulanmış uç nokta olan bir özel Composer depo URL’si.
  • Bu uç nokta için bir kullanıcı adı ve belirteç (bir HTTP Basic kimlik bilgisi çifti).

Bu sayfa bir depo ana makinesi gösterdiği her yerde, lisans portalınızdaki depo URL’sini yerine koyun. Bir kullanıcı adı veya belirteç gösterdiği her yerde, hesabınıza verilen kimlik bilgilerini yerine koyun. NextPDF tek bir ortak URL yayımlamaz; uç nokta ve kimlik bilgileri aboneliğinize özgüdür.

Proje kök dizininizde çalıştırdığınız tek bir komutla Composer’a depo hakkında bilgi verin:

Terminal window
composer config repositories.nextpdf composer https://repo.example.com/nextpdf

https://repo.example.com/nextpdf adresini portalınızdaki URL ile değiştirin. composer depo türü, Composer’ı bir Composer biçimli dizine (bir packages.json) yönlendirir; bir özel paket uç noktasının sunduğu da budur.

Bu komut, composer.json dosyasına bir repositories bloğu yazar. Bunu elle de ekleyebilirsiniz:

{
"repositories": {
"nextpdf": {
"type": "composer",
"url": "https://repo.example.com/nextpdf"
}
}
}

Depo tanımı bir gizli bilgi değildir — yalnızca bir konum adlandırır, dolayısıyla işlemeye (commit) yatkındır. Korumanız gereken şey, bir sonraki adımdaki kimlik bilgileridir.

3. Üç standart yöntemden biriyle kimlik doğrulayın

“3. Üç standart yöntemden biriyle kimlik doğrulayın” başlıklı bölüm

Composer, bir ana makineye ait HTTP Basic kimlik bilgilerini birkaç yerden okur. Kurulum yaptığınız yere uyan yöntemi seçin.

Bir geliştirici makinesi için kimlik bilgisini composer.json dosyasının yanında bir auth.json dosyasında saklayın. Anahtar olarak depo URL’nizin ana makinesini kullanın:

Terminal window
composer config --auth http-basic.repo.example.com your-username your-token

Bu, proje düzeyinde yerel bir auth.json oluşturur (veya günceller):

{
"http-basic": {
"repo.example.com": {
"username": "your-username",
"password": "your-token"
}
}
}

Ana makine anahtarı (repo.example.com), depo URL’sindeki ana makineyle tam olarak eşleşmelidir — Composer, kimlik bilgilerini isteklerle ana makineye göre eşleştirir.

B Yöntemi — COMPOSER_AUTH ortam değişkeni (CI/CD)

“B Yöntemi — COMPOSER_AUTH ortam değişkeni (CI/CD)” başlıklı bölüm

Sürekli tümleştirmede genellikle diskte bir dosya istemezsiniz. Composer, aynı kimlik bilgilerini, değeri auth.json ile aynı biçime sahip bir JSON dizesi olan COMPOSER_AUTH ortam değişkeninden okur:

Terminal window
export COMPOSER_AUTH='{"http-basic":{"repo.example.com":{"username":"your-username","password":"your-token"}}}'
composer install

Belirteç hiçbir zaman işlem hattı tanımında veya derleme günlüğünde görünmesin diye, COMPOSER_AUTH değişkenini CI sağlayıcınızın gizli bilgi deposundan (maskeli değişken, gizli bilgi veya kasa bağlaması) enjekte edin.

C Yöntemi — kullanıcı başına genel kimlik doğrulama (paylaşılan iş istasyonu)

“C Yöntemi — kullanıcı başına genel kimlik doğrulama (paylaşılan iş istasyonu)” başlıklı bölüm

Geçerli kullanıcı için her projeyi proje başına bir dosya olmadan kimlik doğrulamak amacıyla kimlik bilgisini Composer’ın genel auth.json dosyasına yazın:

Terminal window
composer config --global --auth http-basic.repo.example.com your-username your-token

Bu, kimlik bilgisini Composer ev dizininizin altında saklar (COMPOSER_HOME, örneğin ~/.composer/auth.json veya ~/.config/composer/auth.json). Bu, o kullanıcı olarak derlediğiniz tüm projelere uygulanır; dolayısıyla bir kimlik bilgisinin tek bir projeyle veya işlem hattıyla sınırlandırılması gerektiğinde A veya B Yöntemini tercih edin.

4. Kimlik bilgilerini sürüm denetiminden uzak tutun

“4. Kimlik bilgilerini sürüm denetiminden uzak tutun” başlıklı bölüm

Depo URL’si işlemeye yatkındır; belirteç değildir. İki kural, gizli bilgileri geçmişinizden uzak tutar:

  • Yerel kimlik doğrulama dosyasını yok sayın. Proje düzeyinde yerel bir kimlik bilgisinin asla işlenmemesi için auth.json dosyasını .gitignore dosyasına ekleyin:

    /auth.json
  • Belirteci CI/CD içinde enjekte edin. Bir auth.json dosyasını depoya işlemek veya bir kapsayıcı görüntü katmanına gömmek yerine COMPOSER_AUTH (B Yöntemi) değerini işlem hattınızın gizli bilgi deposundan sağlayın.

Bir belirteç hiç işlenir veya yazdırılırsa, onu lisans portalınız üzerinden döndürün — tıpkı sızdırılmış bir API anahtarında olduğu gibi, tehlikeye girmiş sayın.

Depo ve kimlik bilgileri yerindeyken, lisansınızın hak ettiği sürümü require ile isteyin:

Terminal window
# Pick the package for your entitlement:
composer require nextpdf/pro
# or
composer require nextpdf/enterprise
# or the metapackage, which the licensing page uses:
composer require nextpdf/premium

Projeniz açık kısıtlamaları tercih ediyorsa bir ana sürümü sabitleyin — örneğin Pro modül sayfalarının kullandığı kısıtlamayla eşleşen composer require nextpdf/pro:^3.

Composer’ın özel paketi çözümlediğini ve otomatik yükleyicisinin çalıştığını doğrulayın. Önce, require ile istediğiniz sürüm için composer show <installed-package> çalıştırarak paketin kurulu olduğunu onaylayın — örneğin composer show nextpdf/pro, composer show nextpdf/enterprise veya composer show nextpdf/premium:

Terminal window
# Use the package name you actually required:
composer show nextpdf/pro
# or
composer show nextpdf/enterprise
# or
composer show nextpdf/premium

composer show paketi ve sürümünü bildirirse, özel paket çözümlenmiştir. Ardından composer dump-autoload yeniden çalıştırıldığında otomatik yükleyici temiz biçimde yeniden oluşturulur, böylece paketin sınıfları keşfedilebilir olur:

Terminal window
composer dump-autoload

İsteğe bağlı kod düzeyinde bir denetim olarak, kurduğunuz sürümden bir sınıfın otomatik yüklendiğini onaylayabilirsiniz. Bir sınıf adını tahmin etmeyin: kurduğunuz sürüme ait API referansını açın ve belgelenmiş herhangi bir genel sınıf seçin, ardından çözümlendiğini test edin. Aranacak sınıf, sürümünüze bağlıdır — bir sürümde gelen bir sınıf başka bir sürümde bulunmayabilir ve tek bir sınıfın otomatik yüklenmesi yalnızca o sürümün mevcut olduğunu kanıtlar, her sürümün kurulu olduğunu değil.

<?php
require __DIR__ . '/vendor/autoload.php';
// Replace the placeholder with a documented public class from YOUR edition's
// API reference. Do not hardcode a class from a different edition.
$class = 'Your\\Installed\\Edition\\DocumentedClass';
var_dump(class_exists($class));

Paketi kurmak, onu etkinleştirmekle aynı şey değildir. Paket tek başına Pro veya Enterprise yeteneklerini vermez — etkin sürümü, etkinleştirdiğiniz imzalı lisans seçer. Başarılı bir kurulumdan sonra, lisans zarfını yerleştirip etkinleştirmek için Lisanslama ve etkinleştirme sayfasını izleyin ve ionCube ile kodlanmış derlemeler için ionCube Loader kurulumunu yapın.

Composer depoya ulaştı ancak kimlik bilgileri reddedildi ya da yetersizdi. auth.json / COMPOSER_AUTH içindeki ana makine anahtarının depo ana makinesiyle tam olarak eşleştiğini (şema yok, yol yok, sondaki eğik çizgi yok), kullanıcı adı ile belirtecin güncel olduğunu ve belirtecin süresinin dolmadığını veya portalınızda döndürülmediğini onaylayın. Bir 401, yanlış ya da eksik bir kimlik bilgisine işaret eder; bir 403, kapsamı require ile istediğiniz paketi veya sürümü içermeyen geçerli bir kimlik bilgisine işaret eder — aboneliğinizin require ile istediğiniz paket adını hak ettiğini denetleyin.

Paket bulunamadı / “could not find a matching version”

“Paket bulunamadı / “could not find a matching version”” başlıklı bölüm

Bu genellikle Composer’ın özel dizini kullanmadığı veya ona ulaşmadığı (yalnızca herkese açık Packagist’te arama yaptığı) ya da dizine ulaştığı ancak eşleşen kurulabilir bir paket veya sürüm bulamadığı anlamına gelir. Bu projenin composer.json dosyasında repositories.nextpdf bloğunun "type": "composer" ve doğru URL ile mevcut olduğunu ve tam paket adını (nextpdf/pro, nextpdf/enterprise veya nextpdf/premium) require ile istediğinizi onaylayın. Composer’ın gördüklerini yazdırmak için composer config repositories çalıştırın. URL’deki bir yazım hatası veya eksik bir depo bloğu yaygın bir nedendir; ancak ayrıca sürüm kısıtlamanızın yayımlanmış bir sürümle eşleştiğini, projenizin PHP platform gereksiniminin (ve minimum-stability ayarının) pakete izin verdiğini ve belirtecinizin yetkisinin require ile istediğiniz paketi gerçekten kapsadığını denetleyin.

Belirteç yerelde çalışıyor ama CI’da başarısız oluyor

“Belirteç yerelde çalışıyor ama CI’da başarısız oluyor” başlıklı bölüm

Yerel auth.json çalıştırıcıda mevcut değildir. Bir dosyaya güvenmek yerine COMPOSER_AUTH değerini CI gizli bilgi deponuzdan (B Yöntemi) ayarlayın ve değişkenin composer install çalışmadan önce dışa aktarıldığından emin olun. Kapsayıcılı derlemelerde, gizli bilgiyi bir görüntü katmanına kalıcı kılmadan derleme zamanında geçirin.

Kimlik bilgileri ana makineye göre eşleştirilir. Depo URL’si https://repo.example.com/nextpdf ise, anahtar repo.example.com olmalıdır — tam URL veya bir alt yol değil. Eşleşmeyen bir anahtar, Composer’ın isteği kimlik doğrulaması olmadan göndermesine yol açar ve bu da 401 olarak ortaya çıkar.