Tüm Ürünler
Search
Belge Merkezi

Alibaba Cloud SDK:FAQ

Son Güncelleme:Oct 07, 2026

Bu konu, PHP SDK kullanımına ilişkin sık sorulan soruları yanıtlayarak daha verimli geliştirme yapmanıza yardımcı olur.

Ortam denetimi

Önemli

SDK'yı Composer ile yüklerken kullandığınız PHP sürümü, çalışma zamanındaki PHP sürümüyle aynı veya ondan önceki bir sürüm olmalıdır. Örneğin, SDK'yı PHP 7.2 ortamında yüklerseniz oluşturulan vendor dizini yalnızca PHP 7.2 veya sonraki sürümlerle kullanılabilir. Bu dizini PHP 5,6 ortamına kopyalarsanız bağımlılık sürümü uyumsuzluğu sorunları oluşur.

Sorunlar

Sorun 1: AccessKey parametrelerinin iletilmesiyle ilgili sorunlar

Belirti: Kod çalıştırıldığında bir hata bildiriliyor. Hata iletisinde aşağıdaki bilgiler yer alıyorsa Alibaba Cloud kimlik bilgileri (AccessKey) doğru ayarlanmamış demektir.

  • V2.0 SDK: AlibabaCloud\Tea\Exception\TeaUnableRetryError: code: 400, AccessKeyId is mandatory for this action.

  • V1.0 SDK: Fatal error: Uncaught AlibabaCloud\Client\Exception\ClientException: AccessKey ID cannot be empty in XXX.

Çözüm:

  1. ALIBABA_CLOUD_ACCESS_KEY_ID ve ALIBABA_CLOUD_ACCESS_KEY_SECRET ortam değişkenlerinin yapılandırılıp yapılandırılmadığını denetlemek için aşağıdaki komutları çalıştırın:

    Linux/macOS

    echo $ALIBABA_CLOUD_ACCESS_KEY_ID
    echo $ALIBABA_CLOUD_ACCESS_KEY_SECRET

    Windows

    echo %ALIBABA_CLOUD_ACCESS_KEY_ID%
    echo %ALIBABA_CLOUD_ACCESS_KEY_SECRET%

    Doğru AccessKey değeri döndürülüyorsa yapılandırma başarılıdır. Dönen değer boş veya hatalıysa ortam değişkenlerini yeniden ayarlamayı deneyebilirsiniz. Daha fazla bilgi için bkz. Linux, macOS ve Windows sistemlerinde ortam değişkenlerini yapılandırma.

  2. Kodunuzda AccessKey ile ilgili hataları denetleyin.

    Yaygın hata örneği:

    $config = new Config([
        "accessKeyId" => getenv("yourAccessKeyID"),
        "accessKeySecret" => getenv("yourAccessKeySecret")
    ]);

    Doğru örnek:

    $config = new Config([
        "accessKeyId" => getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"),
        "accessKeySecret" => getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")
    ]);
    Not

    getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")

    ve getenv() işlevi, ALIBABA_CLOUD_ACCESS_KEY_ID ve ALIBABA_CLOUD_ACCESS_KEY_SECRET değerlerini ortam değişkenlerinden alır.

    Önemli

    AccessKey anahtarınızı üretim kodunuzda düz metin olarak sabit kodlamayın. Bu uygulama güvenlik riskleri oluşturur.

Sorun 2: Bir OpenAPI çağırdığınızda "cURL error 60: SSL certificate problem: unable to get local issuer certificate" veya "curl error 28 while downloading https://repo.packagist.org/packages.json: SSL connection timeout" hata iletisi alınıyor.

Nedenler

  1. Ağ bağlantısı sorunları: Şirket içi ağ kararsızdır veya bir güvenlik duvarı SSL bağlantısını engelliyordur.

  2. Proxy yapılandırma sorunları: Proxy doğru yapılandırılmamıştır; bu durum harici kaynaklara erişimi engeller.

  3. SSL sertifikası sorunları: Yerel sistem bazı SSL sertifikalarına güvenmez ve bu durum bağlantı zaman aşımlarına neden olur.

Çözümler

  1. Ağ bağlantınızı denetleyin. İnternete erişebildiğinizden ve ağ bağlantısının kararlı olduğundan emin olun.

  2. Composer'ı proxy kullanacak şekilde yapılandırın:

    composer config -g -- unset http-proxy
    composer config -g -- unset https-proxy
    composer config -g http-proxy http://your-proxy:port
    composer config -g https-proxy https://your-proxy:port
  3. Güvenilir bir CA sertifikası indirin:

    1. Mozilla CA Sertifika Deposu gibi güvenilir bir CA sertifikası indirin.

    2. PHP için SSL sertifika yolunu yapılandırın. php.ini dosyasında curl.cainfo öğesini arayın, değerini CA sertifikasının mutlak yolu olarak ayarlayın ve ardından yapılandırma öğesinin başındaki yorum sembolünü (;) kaldırın.

    3. PHP hizmetini yeniden başlatın.

  4. Kendinden imzalı bir sertifikaya güvenin (isteğe bağlı). Bağlantı sorunu kendinden imzalı bir sertifikadan kaynaklanıyorsa Composer'ın SSL doğrulamasını yok saymasına izin verebilirsiniz. Bu yöntem üretim ortamları için önerilmez.

    composer config --global -- disable-ssl
    Önemli

    Bu işlem SSL doğrulamasını geçici olarak devre dışı bırakır. Sistem güvenliğini sağlamak için daha sonra composer config --global --enable-ssl komutunu çalıştırarak SSL doğrulamasını yeniden etkinleştirmeyi unutmayın.

Sorun 3: Çalışma zamanında "PHP Fatal error: Class 'Darabonba\OpenApi\Models\Config' not found" hatası alınıyor.

Bu hata, Composer otomatik yükleme özelliği etkinleştirilmediğinde oluşur. Çözüm:

Composer bağımlılıkları indirdiğinde, bir autoload.php dosyası içeren bir vendor dizini oluşturur. Uygulama kodunuza bir require_once deyimi ekleyebilirsiniz.

require_once(<path to the autoload.php file in the vendor directory>)

Sorun 4: Çalışma zamanında "PHP Fatal error: Uncaught exception 'GuzzleHttp\Exception\RequestException' with message 'cURL error 3'" hatası alınıyor.

Bu hata, yanlış bir RegionId veya Endpoint belirtildiğinde oluşur. Çözüm:

Seçtiğiniz bölgenin çağırdığınız hizmeti desteklediğinden emin olun. Ürünün uç noktasını OpenAPI Geliştirici Portalı ürün ana sayfasında bulabilirsiniz. Örneğin, Short Message Service için OpenAPI Portalı'nda oturum açın. Üst gezinme çubuğunda Short Message Service seçeneğini belirleyin. Short Message Service genel bakış sayfasında Service Area List sekmesine tıklayın. Her bölge için Region ID (örneğin cn-beijing, cn-hangzhou veya cn-shanghai) ve Service Endpoint (Çin anakarasındaki bölgeler için dysmsapi.aliyuncs.com ve Çin dışındaki bölgeler için dysmsapi.ap-southeast-1.aliyuncs.com) değerlerini görüntüleyin. Kodunuzdaki RegionId ve Endpoint değerlerinin bu listedeki değerlerle tutarlı olduğundan emin olun.

Sorun 5: Çalışma zamanında "Could not fetch [repository], please review your configured GitHub OAuth token" hatası alınıyor.

Bu hata, Composer'a sağlanan GitHub kimlik bilgileri yanlış olduğunda veya süresi dolduğunda oluşur. Çözüm:

Önemli

Alibaba Cloud SDK paketleri GitHub kimlik bilgileri gerektirmez.

  • Composer'ı resmi olmayan bir kaynaktan yüklediniz ve özel depolara erişmek için GitHub kimlik bilgilerine ihtiyacınız yoksa Composer dizinindeki auth.json dosyasını silebilirsiniz.

  • Özel depolara erişmek için GitHub kimlik bilgilerine ihtiyacınız varsa Composer'ın istemi doğrultusunda belirteci yenileyebilirsiniz.

Sorun 6: Bir API çağrısı zaman aşımına uğruyor ve "cURL error 28: Resolving timed out after 5000 milliseconds (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://dysmsapi.aliyuncs.com" hatası raporlanıyor.

Zaman aşımları birden çok faktörden kaynaklanabilir. Aşağıdaki bölümlerde yaygın nedenler ve bunların çözümleri açıklanmaktadır:

Ağ bağlantısı sorunları

Açıklama: İstemci ile sunucu arasındaki ağ bağlantısı kesik veya kararsız olduğu için istek hedef sunucuya ulaşamıyor.

Çözüm:

Yerel ana bilgisayarınız ile cloud ürün uç noktası arasındaki bağlantıyı test etmek için ping veya curl komutunu kullanın. Örneğin, SendSms işlemine yapılan bir çağrı zaman aşımına uğrarsa bağlantıyı test etmek için ping dysmsapi.aliyuncs.com veya curl -v https://dysmsapi.aliyuncs.com komutlarını kullanabilirsiniz.

  • Komut zaman aşımına uğrar veya yanıt döndürmezse yerel güvenlik duvarınızda veya yönlendiricinizde bir engelleme ilkesi olup olmadığını denetleyin.

  • Komut yanıt döndürürse yanlış yapılandırmadan kaynaklanan istek hatalarını önlemek için makul bir zaman aşımı süresi ayarlayabilirsiniz. Daha fazla bilgi için bkz. Zaman aşımı yapılandırması. Aşağıdaki kod bir örnek sağlar:

// Set the timeout in runtime parameters. This is valid only for requests that use this runtime parameter instance.
$runtimeOptions = new RuntimeOptions();
$runtimeOptions->connectTimeout = $connectionTimeoutMillis;

Uzun API işleme süresi

Açıklama: Hedef API'nin isteği işleme süresi, yapılandırılan okuma zaman aşımı süresini aşıyor.

Çözüm: Daha uzun bir API yanıt süresine uyum sağlamak için okuma zaman aşımı süresini yapılandırabilirsiniz. Daha fazla bilgi için bkz. Zaman aşımı yapılandırması. Örneğin, geçerli istek için okuma zaman aşımı süresini uzatmak amacıyla okuma zaman aşımı parametresini yapılandırabilirsiniz. Aşağıdaki kod bir örnek sağlar:

// Set the timeout in runtime parameters. This is valid only for requests that use this runtime parameter instance.
$runtimeOptions = new RuntimeOptions();
$runtimeOptions->readTimeout = $readTimeoutMillis;

Sorun 7: Çalışma zamanında "alibabacloud/tea[3.0.0,3.2.01 require ext-curl*-> it is missing from your system. Install or enable PHP's curl extension,100e ..." hatası alınıyor.

Bu hata, PHP için curl uzantısı eksik olduğunda oluşur. Çözüm:

Ubuntu/Debian sistemleri için:

sudo apt-get install php-curl

CentOS/Fedora/RHEL sistemleri için:

sudo yum install php-curl

Sorun 9: composer require komutunu çalıştırdığınızda "[Composer\Downloader\TransportException], The file could not be downloaded (HTTP/1.1 404 Not Found)" veya "your requirements could not be resolved to an installable set of packages" hata iletisi alınıyor.**

[root@hecs-x-large-2-win-20210204102325 rcw.zhiyuechuanbo.com]# composer require alibabacloud/ocr-api-20210707 3.1.2
Warning: This development build of composer is over 60 days old. It is recommended to update it by running "/usr/bin/composer self-update" to get the latest version.
Do not run Composer as root/super user! See https://getcomposer.org/root for details
Warning from https://mirrors.aliyun.com/composer: Support for Composer 1 will be shutdown on August 1st 2025. You should upgrade to Composer 2. See https://blog.packagist.com/shutting-down-packagist-org-support-for-composer-1-x/
[Composer\Downloader\TransportException]
The "https://mirrors.aliyun.com/composer/p/provider-2013%24a2b47ec1a1bb999e53d88aff50728aebbd3d68225c74aab1ff5f071bac42f5b7.json" file could not be downloaded (HTTP/1.1 404 Not Found)

Olası nedenler

  • Kullandığınız trafik yansıma kaynağı (Alibaba Cloud yansısı gibi) en son paket bilgilerini zamanında eşitlememiş olabilir. Bu durum bazı dosyaların eksik olmasına neden olur.

  • Trafik yansıma kaynağının URL'si değişmiş veya yol hatalı olabilir.

Çözümler

  1. Doğru trafik yansıma kaynağını kullandığınızdan emin olun.

    1. Şu anda yapılandırılmış Composer trafik yansıma kaynağını görüntülemek için aşağıdaki komutu çalıştırın:

      composer config -g --list
    2. Alibaba Cloud Composer tam yansısı: https://mirrors.aliyun.com/composer/

      composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
    3. Tsinghua Composer tam yansısı: https://mirrors.tuna.tsinghua.edu.cn/composer/

      composer config -g repo.packagist composer https://mirrors.tuna.tsinghua.edu.cn/composer/
  2. Trafik yansıma kaynağını geçici olarak devre dışı bırakıp doğrudan resmi merkezi depoyu kullanabilirsiniz. Bunu yapmak için composer.json dosyasındaki repositories yapılandırmasını değiştirin veya silin ya da composer config --unset repos.url komutunu çalıştırın.

    # Use the official Composer repository.
    composer config -g repo.packagist composer https://packagist.org
  3. Ağ bağlantınızı denetleyin. Kararsız bir ağ, dosyaların doğru indirilmesini engelleyebilir. Farklı bir ağ ortamına geçmeyi veya VPN kullanmayı deneyebilirsiniz.

  4. Komutu çalıştırdığınızda Composer sürümünün çok eski olduğunu belirten bir ileti görüntüleniyorsa (`Warning: This development build of composer is over 60 days old. It is recommended to update it by running "/usr/bin/composer self-update" to get the latest version.`) en son sürüme güncelleyebilirsiniz (isteğe bağlı).

    # Update Composer to the latest version.
    composer self-update
    # Use composer.phar to run the latest version.
    composer self-update --1
  5. Komutu çalıştırdığınızda bir Composer uyarısı görüntüleniyorsa Composer 1 desteğinin sonlandırılacağı anlamına gelir. Daha iyi uyumluluk ve güvenlik için sürüm 2.x'e yükseltebilirsiniz (isteğe bağlı).

    composer self-update --2
    Önemli

    Projenizin bağımlı olduğu paketlerin Composer 2.x'i destekleyip desteklemediğini denetleyin. Proje kodunu ve yapılandırmasını güncellemeniz gerekebilir.

  6. İndirme sırasında bir Content-Length hatası oluşursa bunun nedeni genellikle veri indirmesinin kesintiye uğraması ve alınan gerçek verilerin beklenen değerle eşleşmemesidir.

    1. Composer önbelleğini temizleyip yükleme komutunu yeniden çalıştırabilirsiniz.

      # Delete the .composer directory
      Remove-Item -Recurse -Force $HOME\.composer
      # Delete all content in the C:\tmp directory
      Remove-Item -Recurse -Force C:\tmp\*
      rm -rf ~/.composer/ && rm -rf /tmp/*
    2. Ağ dalgalanmaları indirme kesintilerine neden olabilir. Yükleme komutunu birkaç kez çalıştırabilirsiniz.

    3. Ağ kararlılığınızı denetleyin. Ağ bağlantısının kararlı olduğundan emin olun ve yoğun saatlerde indirme yapmaktan kaçının.

Sorun 10: Composer'ı çalıştırdığınızda "Could not delete D:\www\touming_keyword_api\vendor\composer\tmp-7fd77eb46d69640d6040743642007957:This can be due to an antivirus or the Windows Search Indexer locking the file while they are analyzed" hatası alınıyor.

Olası nedenler

Composer bağımlılıkları yüklemeye çalıştığında geçici dosyaları silemiyor. Bunun nedeni antivirüs yazılımının veya Windows Arama Dizini Oluşturucusunun dosyayı kilitlemiş olması olabilir.

Çözümler

  1. İzinleri denetleyin. Windows sisteminde Composer, yetersiz izinler nedeniyle gerekli dosyaları oluşturamıyor veya değiştiremiyor olabilir.

    1. İzin sorunlarını önlemek için tüm Composer komutlarını yönetici modunda çalıştırdığınızdan emin olun.

    2. Composer'ın ihtiyaç duyduğu dosya ve dizinlerin okuma ve yazma izinlerine sahip olduğunu onaylayın.

  2. Paket sürümünün kullanılabilirliğini denetleyebilir, önbelleği temizleyebilir ve yeniden yükleyebilirsiniz.

    1. Gerekli paketin mevcut sürümlerini denetleyin. Örneğin:

      composer show alibabacloud/ecs-20140526 --all
    2. Composer önbelleğini temizleyin ve yeniden yükleyin:

      composer clear-cache
  3. Windows Arama hizmetinin çalışıp çalışmadığını denetleyin. Bu hizmet dosyaları indeksleyerek kilitlenmelerine neden olabilir. Bu hizmeti durdurmak için aşağıdaki adımları uygulayın:

    1. Çalıştır iletişim kutusunu açmak için Win + R tuşlarına basın.

    2. services.msc yazın ve Enter tuşuna basın.

    3. "Windows Search" hizmetini bulun, sağ tıklayın ve "Stop" seçeneğini belirleyin.

    4. Hizmeti durdurduktan sonra Composer bağımlılıklarını yeniden yüklemeyi deneyin.

  4. Dosyanın kilidini açın veya yükleme için yeni bir dizin oluşturun.

    1. Komut satırını yönetici olarak çalıştırarak dosyanın kilidini açabilirsiniz:

      1. CMD veya PowerShell'e sağ tıklayın ve "Run as administrator" seçeneğini belirleyin.

      2. Kilitli dizini silmek için aşağıdaki komutu çalıştırın:

        rmdir /S /Q "D:\www\touming_keyword_api\vendor\composer\tmp-7fd77eb46d69640d6040743642007957"
      3. Antivirüs yazılımı veya Windows Arama Dizini Oluşturucusu gibi hiçbir programın dosyayı kilitlemediğinden emin olun. Antivirüs yazılımını geçici olarak devre dışı bırakıp Composer komutunu yeniden çalıştırmayı deneyebilirsiniz.

    2. Yükleme için yeni bir dizin oluşturun. Yeni bir dizin oluşturup Composer işlemlerini burada gerçekleştirebilirsiniz:

      mkdir D:\new_directory
      cd D:\new_directory
      composer require alibabacloud/ecs-20140526 6.0.1
  5. Yükleme sırasında 404 hatası oluşursa trafik yansıma kaynağını değiştirip yeniden yüklemeyi deneyebilirsiniz.

    composer config -g repo.packagist composer https://packagist.org
D:\Appserv\PHPTutorial\WWW\changheyuedu>composer require alibabacloud/dysmsapi-20170525 2.0.8
./composer.json has been updated
Running composer update alibabacloud/dysmsapi-20170525
Loading composer repositories with package information
https://mirrors.aliyun.com/composer could not be fully loaded (curl error 61 while downloading https://mirrors.aliyun.com/composer/p2/alibabacloud/dysmsapi-20170525.json: Error while processing content unencoding: Unknown failure within decompression software.), package information was loaded from the local cache and may be out of date
Installation failed, reverting ./composer.json and ./composer.lock to their original content.
  [Composer\Downloader\TransportException]
  curl error 61 while downloading https://mirrors.aliyun.com/composer/p2/alibabacloud/dysmsapi-20170525.json: Error w
  hile processing content unencoding: Unknown failure within decompression software.

Sorun 11: composer require alibabacloud/dysmsapi-20170525 komutunu çalıştırdığınızda "cURL error 61" hatası alınıyor.

Olası nedenler

  1. Composer önbelleği sorunu: Yerel önbellek bozuk veya eksik.

  2. Trafik yansıma kaynağı sorunu: Trafik yansıma kaynağı kararsız veya kullanılamıyor.

  3. Ağ sorunu: Ağ bağlantısı kararsız veya bir güvenlik duvarı tarafından engelleniyor.

  4. Composer sürümü sorunu: Eski bir Composer sürümü kullanılıyor.

  5. Ortam yapılandırma sorunu: Ortam değişkenleri veya Composer yapılandırma dosyası anormal.

Çözümler

  1. Ağ bağlantınızı denetleyin.

    1. Ağın normal olup olmadığını test etmek için aşağıdaki komutu çalıştırın:

      curl -I https://mirrors.aliyun.com/composer/p2/alibabacloud/dysmsapi-20170525.json
    2. Güvenlik duvarı ayarlarını denetleyin ve güvenlik duvarının curl komutunun harici kaynaklara erişimini engellemediğinden emin olun.

    3. Farklı bir ağ kullanmayı deneyin. Örneğin, kurumsal ağdan kişisel ağa geçerek ağ ortamını değiştirebilirsiniz.

  2. Composer yapılandırmasını denetleyebilir ve doğrudan resmi merkezi depoyu kullanabilirsiniz.

    composer config -g --list
    composer config -g repo.packagist composer https://packagist.org
  3. Yüklenen Composer paketini silebilir, yeniden yükleyebilir ve Composer önbelleğini temizleyebilirsiniz.

    1. Yerel önbellek dizinini silin:

      rm -rf ~/.composer
    2. Composer önbelleğini temizleyin:

      composer clear-cache
  4. Hata devam ederse ayrıntılı Composer günlüklerini denetleyebilirsiniz:

    composer install --verbose

Soru 12: Alibaba Cloud SDK paketini yüklemek içincomposer çalıştırdığınızda "Your requirements could not be resolved to an installable set of packages." hatası alınıyor.**

Bu hata çeşitli nedenlerden dolayı oluşabilir. Aşağıdaki örnekler hatayı çözmenize yardımcı olabilir.

Örnek 1

Hata iletisi:

Your requirements could not be resolved to an installable set of packages.
Problem 1
 - Root composer.json requires alibabacloud/cloudauth-20190307 3.4.1, found alibabacloud/cloudauth-20190307[dev-master, 1.0.0, ..., 1.0.7, 2.0.0, ..., 2.9.1, 3.0.0, ..., 3.3.0] but it does not match the constraint.
Installation failed, reverting ./composer.json and ./composer.lock to their original content.

Olası nedenler:

  1. Belirtilen sürüm numarası (örneğin 3.4.1) mevcut olmayabilir veya yayınlanmamış olabilir.

  2. Kullandığınız Composer trafik yansıma kaynağı paketin en son sürümüyle eşitlenmemiş olabilir.

  3. Bir ağ sorunu paketin doğru şekilde çekilmesini engelliyor olabilir.

Çözümler:

  • Paketin tüm kullanılabilir sürümlerini görüntülemek için aşağıdaki komutu çalıştırın:

    composer show alibabacloud/XXXXXX --all

    composer.json dosyasındaki sürümü kullanılabilir bir sürümle değiştirebilir ve ardından yeniden yüklemek için composer update komutunu çalıştırabilirsiniz.

  • Composer trafik yansıma kaynağını değiştirebilirsiniz.

    • Resmi Packagist trafik yansıma kaynağına geçmek için aşağıdaki komutu çalıştırın:

      composer config -g repo.packagist composer https://repo.packagist.org
    • Çin anakarasında Alibaba Cloud tarafından sağlanan hızlandırılmış trafik yansıma kaynağına geçin:

      composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/

    Geçiş yaptıktan sonra önbelleği temizleyip yeniden yükleyebilirsiniz:

    composer clear-cache
    composer install
  • Ağ bağlantınızın normal olup olmadığını denetleyin ve kararlı bir ağ ortamı kullanmayı deneyin. Yükleme yine de başarısız olursa paket dosyasını .zip veya .tar.gz biçiminde manuel olarak indirip yerel bir yol kullanarak yükleyebilirsiniz:

    composer require alibabacloud/XXXXXX@dev --prefer-source

Örnek 2

Hata iletisi:

composer could not delete the root package (root/mr.appteam/version) defaulting to ... see https://getcomposer.org/root-version
Running composer update alibabacloud/cloudauth-20190307
Loading composer repositories with package information
Updating dependencies
Your requirements could not be resolved to an installable set of packages.
  Problem 1
    - Root composer.json requires alibabacloud/cloudauth-20190307 3.9.2 -> satisfiable by alibabacloud/cloudauth-20190307[3.9.2].
    - alibabacloud/cloudauth-20190307 3.9.2 requires alibabacloud/tea-oss-utils ^0.3.1 -> satisfiable by alibabacloud/tea-oss-utils[0.3.1].
    - alibabacloud/tea-oss-utils[0.3.0, ..., 0.3.1] require guzzlehttp/psr7 ^1.0 -> found guzzlehttp/psr7[1.0.0, ..., 1.9.1] but the package is fixed
  Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.
Installation failed, reverting ./composer.json and ./composer.lock to their original content.
[root@ebs-171291 mrrapp.com]#

Neden:

alibabacloud/cloudauth-20190307:3.9.2 paketini yüklediğinizde bunun bağımlılığı olan alibabacloud/tea-oss-utils:0.3.1, guzzlehttp/psr7 sürümünün [1.0.0,...,2.0.0) aralığında olmasını gerektirir. Ancak şu anda yüklü olan guzzlehttp/psr7 sürümü [1.0.0,..,1.9.1] aralığında sabitlenmiştir ve bu durum bir bağımlılık çakışmasına neden olur.

Çözümler:

  • Bağımlılık sürümünü zorla güncelleyebilirsiniz.

    composer require alibabacloud/cloudauth-20190307 3.9.2 -W
  • composer.json dosyasının require bölümüne guzzlehttp/psr7 için bir sürüm kısıtlaması ekleyebilirsiniz (örneğin "guzzlehttp/psr7": "^1.0"). Ardından bağımlılıkları güncellemek için aşağıdaki komutu çalıştırın.

    composer update
  • composer.lock dosyasını silip yeniden yüklemek için aşağıdaki komutu çalıştırabilirsiniz.

    composer install --prefer-source

Sorun 12: Bir OpenAPI çağırdığınızda "cURL error 60: SSL certificate problem: unable to get local issuer certificate" hata iletisi alınıyor.

Nedenler:

  1. CA sertifikası paketi indirilmemiş: Sistemde güvenilir bir CA sertifikası dosyası eksik; bu durum cURL'in SSL sertifikasını doğrulamasını engeller.

  2. PHP'nin cURL yapılandırmasında bir CA sertifikası yolu belirtilmemiş: php.ini dosyasında curl.cainfo veya openssl.cafile parametresi doğru yapılandırılmamış.

  3. PHP hizmeti yeniden başlatılmamış: php.ini dosyası değiştirildikten sonra PHP hizmeti yeniden başlatılmamış, bu nedenle yapılandırma etkili olmamış.

Çözümler:

  1. Mozilla CA Sertifika Deposu gibi güvenilir bir CA sertifikası indirebilirsiniz. İndirilen cacert.pem dosyasını sabit bir dizine kaydedin.

    Önemli

    Dosya yolunda Çince karakterler veya özel karakterler bulunmadığından emin olun; aksi takdirde potansiyel sorunlar oluşabilir.

  2. PHP için SSL sertifika yolunu yapılandırabilirsiniz.

    • PHP yapılandırma dosyası php.ini dosyasını açın. Dosya konumunu php --ini komutunu çalıştırarak bulabilirsiniz.

    • php.ini dosyasında curl.cainfo öğesini bulun, değerini CA sertifikasının mutlak yolu olarak ayarlayın ve yapılandırma öğesinin başındaki noktalı virgülü (;) kaldırın.

      # Example
      curl.cainfo = "D:\path\to\cacert.pem"
      openssl.cafile = "D:\path\to\cacert.pem"

      Düzenleme sonrası dosyayı kaydedin.

      Not

      Örnekteki D:\path\to\cacert.pem yolunu indirdiğiniz CA sertifikasının gerçek mutlak yoluyla değiştirin.

  3. PHP hizmetini yeniden başlatın.

Sorun 13: Composer kurulumu "the package is fixed to version 1.0.3 (lock file version) or ralouphie/mimey 2.1.0 requires php ^5.4|^7.0 your php version (8.2.27) does not satisfy that requirement." iletisiyle başarısız oluyor.

Nedenler

  1. Sürüm çakışmaları:

    • Bazı bağımlılıkların sürümleri composer.lock dosyası tarafından kilitlenmiştir.

    • Composer, varsayılan olarak bu kilitli bağımlılık paketlerini otomatik olarak güncellemez.

    • Örneğin, alibabacloud/cloudauth-20190307 paketi alibabacloud/openplatform-20191219 paketinin 2.0.1 sürümünü gerektirir ancak mevcut kilitli sürüm 1.0.3 sürümüdür.

  2. PHP sürümü uyumsuzluğu:

    • PHP 8.2 kullanıyorsunuz ancak bazı bağımlılık paketleri yalnızca PHP 5.4 ile 7.x sürümlerini destekliyor.

    • Örneğin, ralouphie/mimey 2.1.0 paketi yalnızca PHP ^5.4|^7.0 sürümlerini destekler ancak ortamınız PHP 8.2.27 sürümündedir.

Çözümler

  1. İlgili tüm bağımlılıkları zorla yükseltebilirsiniz:

    composer update --with-all-dependencies
    # Or the short form:
    composer update -W
    Not

    Bu işlem, composer.lock tarafından kilitlenen eski sürümler dahil olmak üzere tüm ilgili bağımlılık paketlerini yinelemeli olarak günceller ve sürüm çakışmalarını çözmeye yardımcı olur.

  2. composer.lock ve vendor/ dizinlerini temizleyip yeniden yükleyebilirsiniz. Bu yöntem, ciddi bağımlılık karmaşası durumunda önerilir.

    rm composer.lock vendor/
    composer clear-cache
    composer install
    Önemli

    Bu işlem yüklü tüm bağımlılıkları kaldırır.

  3. Bir bağımlılık paketi PHP 8'i desteklemiyorsa uyumluluğu sağlamak için geçici olarak PHP'nin daha önceki bir sürümüne düşürebilirsiniz.

Sorun 14: Script @php think service:discover handling the post-autoload-dump event returned with error code 255.

Nedenler

  • composer install veya update komutunu çalıştırdıktan sonra Composer, ThinkPHP'nin otomatik hizmet keşfi komutu olan php think service:discover komutunu yürütmeyi başaramaz. Bu durum tüm yükleme işlemini kesintiye uğratır.

  • Bellek taşması veya diğer hatalar.

Çözümler

  1. Hizmet keşfi betiğini geçici olarak devre dışı bırakabilirsiniz. Bunu yapmak için projenin kök dizinindeki composer.json dosyasını değiştirin:

    {
        "scripts": {
            "post-autoload-dump": "@php think service:discover"
        }
    }

    Şu şekilde değiştirin:

    {
        "scripts": {
            "post-autoload-dump": "@echo Skipping 'php think service:discover'"
        }
    }

    composer dump-autoload komutunu yeniden çalıştırın.

  2. PHP bellek sınırını artırabilirsiniz. Bunu yapmak için php.ini dosyasındaki aşağıdaki yapılandırmayı değiştirin:

    memory_limit = 512M

Sorun 15: Undefined property: Darabonba\OpenApi\Models\Config::$tlsMinVersion

Neden: alibabacloud/darabonba-openapi sürümü 0.2.14'ten önce.

Çözüm: alibabacloud/darabonba-openapi paketini 0.2.14 veya sonraki bir sürüme güncellemek için aşağıdaki komutu çalıştırın.

composer require alibabacloud/darabonba-openapi >=0.2.14 

Teknik destek

Önceki sorunlara yönelik çözümler, Alibaba Cloud SDK'yı daha kolay kullanmanıza yardımcı olmak amacıyla hazırlanmıştır. Diğer sorunlarla karşılaşırsanız bizimle aşağıdaki yollardan biriyle iletişime geçebilirsiniz:

  • Destek talebi oluşturun: Alibaba Cloud Destek Talebi Oluşturma sayfası.

  • İlgili ihtiyaçlarınız veya geri bildirimleriniz varsa DingTalk grubuna katılarak Alibaba Cloud teknik desteği ile iletişime geçebilirsiniz. Grup numarası 60965016010'dur.