Premium sürüm
Composer ile özel NextPDF premium paketini kurun ve kimlik doğrulayın
Bir bakışta
“Bir bakışta” başlıklı bölümNextPDF 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.
Kimlik bilgilerinizin kaynağı
“Kimlik bilgilerinizin kaynağı” başlıklı bölümÖ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.
1. Premium paketlerin bulunduğu yer
“1. Premium paketlerin bulunduğu yer” başlıklı bölümLisans 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.
2. Özel depoyu composer.json dosyasına ekleyin
“2. Özel depoyu composer.json dosyasına ekleyin” başlıklı bölümProje kök dizininizde çalıştırdığınız tek bir komutla Composer’a depo hakkında bilgi verin:
composer config repositories.nextpdf composer https://repo.example.com/nextpdfhttps://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ümComposer, bir ana makineye ait HTTP Basic kimlik bilgilerini birkaç yerden okur. Kurulum yaptığınız yere uyan yöntemi seçin.
A Yöntemi — auth.json (yerel geliştirme)
“A Yöntemi — auth.json (yerel geliştirme)” başlıklı bölümBir 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:
composer config --auth http-basic.repo.example.com your-username your-tokenBu, 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ümSü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:
export COMPOSER_AUTH='{"http-basic":{"repo.example.com":{"username":"your-username","password":"your-token"}}}'composer installBelirteç 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ümGeç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:
composer config --global --auth http-basic.repo.example.com your-username your-tokenBu, 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ümDepo 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.jsondosyasını.gitignoredosyasına ekleyin:/auth.json -
Belirteci CI/CD içinde enjekte edin. Bir
auth.jsondosyasını depoya işlemek veya bir kapsayıcı görüntü katmanına gömmek yerineCOMPOSER_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.
5. Kurun ve doğrulayın
“5. Kurun ve doğrulayın” başlıklı bölümDepo ve kimlik bilgileri yerindeyken, lisansınızın hak ettiği sürümü require ile isteyin:
# Pick the package for your entitlement:composer require nextpdf/pro# orcomposer require nextpdf/enterprise# or the metapackage, which the licensing page uses:composer require nextpdf/premiumProjeniz 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:
# Use the package name you actually required:composer show nextpdf/pro# orcomposer show nextpdf/enterprise# orcomposer show nextpdf/premiumcomposer 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:
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.
<?phprequire __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.
Sorun giderme
“Sorun giderme” başlıklı bölüm401 Unauthorized veya 403 Forbidden
“401 Unauthorized veya 403 Forbidden” başlıklı bölümComposer 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ümBu 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ümYerel 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.
Yanlış ana makine anahtarı
“Yanlış ana makine anahtarı” başlıklı bölümKimlik 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.