Ce document répond aux questions fréquentes sur l'utilisation du SDK PHP pour vous aider à développer plus efficacement.
Vérification de l'environnement
Assurez-vous que l'environnement PHP est correctement installé et que la version de PHP est 5.6 ou ultérieure.
Installez Composer globalement sur votre système.
La version PHP utilisée pour installer le SDK avec Composer doit être identique ou antérieure à la version PHP d'exécution. Par exemple, si vous installez le SDK dans un environnement PHP 7.2, le répertoire vendor généré ne fonctionne qu'avec PHP 7.2 ou une version ultérieure. Si vous le copiez vers un environnement PHP 5.6, des problèmes d'incompatibilité de versions de dépendances surviendront.
Problèmes
Problème 1 : Difficultés liées au passage des paramètres AccessKey
Symptôme : Une erreur est signalée lors de l'exécution du code. Si le message d'erreur contient les informations suivantes, les identifiants Alibaba Cloud (AccessKey) ne sont pas configurés correctement.
SDK V2.0 : AlibabaCloud\Tea\Exception\TeaUnableRetryError: code: 400, AccessKeyId is mandatory for this action.
SDK V1.0 : Fatal error: Uncaught AlibabaCloud\Client\Exception\ClientException: AccessKey ID cannot be empty in XXX.
Solution :
-
Exécutez les commandes suivantes pour vérifier si les variables d'environnement
ALIBABA_CLOUD_ACCESS_KEY_IDetALIBABA_CLOUD_ACCESS_KEY_SECRETsont configurées :Linux/macOS
echo $ALIBABA_CLOUD_ACCESS_KEY_ID echo $ALIBABA_CLOUD_ACCESS_KEY_SECRETWindows
echo %ALIBABA_CLOUD_ACCESS_KEY_ID% echo %ALIBABA_CLOUD_ACCESS_KEY_SECRET%Si l'AccessKey correct s'affiche, la configuration a réussi. Si la valeur retournée est vide ou incorrecte, redéfinissez les variables d'environnement. Pour plus d'informations, consultez Configurer les variables d'environnement sur les systèmes Linux, macOS et Windows.
-
Vérifiez l'absence d'erreurs liées à l'AccessKey dans le code.
Exemple d'erreur courante :
$config = new Config([ "accessKeyId" => getenv("yourAccessKeyID"), "accessKeySecret" => getenv("yourAccessKeySecret") ]);Exemple correct :
$config = new Config([ "accessKeyId" => getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"), "accessKeySecret" => getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET") ]);Remarquegetenv("ALIBABA_CLOUD_ACCESS_KEY_ID")
et
getenv()récupèrent les valeurs deALIBABA_CLOUD_ACCESS_KEY_IDetALIBABA_CLOUD_ACCESS_KEY_SECRETdepuis les variables d'environnement.ImportantNe codez pas en dur votre AccessKey en texte brut dans votre code de production. Cette pratique présente des risques de sécurité.
Problème 2 : Un message d'erreur « cURL error 60: SSL certificate problem: unable to get local issuer certificate » ou « curl error 28 while downloading https://repo.packagist.org/packages.json: SSL connection timeout » est signalé lors de l'appel d'une OpenAPI.
Causes
Problèmes de connectivité réseau : le réseau local est instable ou un pare-feu bloque la connexion SSL.
Problèmes de configuration du proxy : le proxy n'est pas configuré correctement, ce qui empêche l'accès aux ressources externes.
Problèmes de certificat SSL : le système local ne fait pas confiance à certains certificats SSL, ce qui entraîne des délais d'expiration de connexion.
Solutions
Vérifiez votre connectivité réseau. Assurez-vous que vous pouvez accéder à Internet et que la connexion réseau est stable.
-
Configurez Composer pour utiliser un proxy :
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 -
Téléchargez un certificat CA de confiance :
Téléchargez un certificat CA de confiance, tel que le Mozilla CA Certificate Store.
Configurez le chemin du certificat SSL pour PHP. Dans le fichier php.ini, recherchez
curl.cainfo, définissez sa valeur sur le chemin absolu du certificat CA, puis supprimez le symbole de commentaire (;) au début de l'élément de configuration.Redémarrez le service PHP.
-
Faire confiance à un certificat auto-signé (facultatif). Si le problème de connexion provient d'un certificat auto-signé, autorisez Composer à ignorer la validation SSL. Cette manipulation n'est pas recommandée pour les environnements de production.
composer config --global -- disable-sslImportantCette opération désactive temporairement la validation SSL. Veillez à exécuter ultérieurement la commande
composer config --global --enable-sslpour la réactiver et garantir la sécurité du système.
Problème 3 : Une erreur « PHP Fatal error: Class 'Darabonba\OpenApi\Models\Config' not found » est signalée lors de l'exécution.
Cette erreur survient car la fonctionnalité de chargement automatique de Composer n'est pas activée. Solution :
Lorsque Composer télécharge des dépendances, il génère un répertoire vendor contenant un fichier autoload.php. Ajoutez une instruction require_once au code de votre application.
require_once(<path to the autoload.php file in the vendor directory>)
Problème 4 : Une erreur « PHP Fatal error: Uncaught exception 'GuzzleHttp\Exception\RequestException' with message 'cURL error 3' » est signalée lors de l'exécution.
Cette erreur est due à un RegionId ou un Endpoint incorrect. Solution :
Assurez-vous que la région sélectionnée prend en charge le service appelé. Vous trouverez l'endpoint du produit sur la page d'accueil du produit dans le Portail développeur OpenAPI. Par exemple, pour Short Message Service, connectez-vous au Portail OpenAPI. Dans la barre de navigation supérieure, sélectionnez Short Message Service. Sur la page de présentation de Short Message Service, cliquez sur l'onglet Service Area List. Consultez le Region ID (tel que cn-beijing, cn-hangzhou ou cn-shanghai) et le Service Endpoint (qui est dysmsapi.aliyuncs.com pour les régions de Chine continentale et dysmsapi.ap-southeast-1.aliyuncs.com pour les régions hors de Chine) pour chaque région. Vérifiez que le RegionId et l'Endpoint dans votre code correspondent bien à cette liste.
Problème 5 : Une erreur « Could not fetch [repository], please review your configured GitHub OAuth token » est signalée lors de l'exécution.
Cette erreur survient car les identifiants GitHub fournis à Composer sont incorrects ou ont expiré. Solution :
Les packages SDK Alibaba Cloud ne nécessitent pas d'identifiants GitHub.
Si vous avez installé Composer depuis une source non officielle et que vous n'avez pas besoin d'identifiants GitHub pour accéder à des dépôts privés, supprimez le fichier
auth.jsondans le répertoire de Composer.Si vous avez besoin d'identifiants GitHub pour accéder à des dépôts privés, actualisez le jeton comme indiqué par Composer.
Problème 6 : Un appel d'API expire et signale l'erreur « cURL error 28: Resolving timed out after 5000 milliseconds (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://dysmsapi.aliyuncs.com ».
Les délais d'expiration peuvent avoir plusieurs origines. Les sections suivantes décrivent les causes courantes et leurs solutions :
Problèmes de connectivité réseau
Description : La requête ne parvient pas au serveur de destination car le réseau entre le client et le serveur est interrompu ou instable.
Solution :
Utilisez la commande ping ou curl pour tester la connectivité entre votre hôte local et l'endpoint du produit cloud. Par exemple, si un appel à l'opération SendSms expire, utilisez ping dysmsapi.aliyuncs.com ou curl -v https://dysmsapi.aliyuncs.com pour tester la connectivité.
Si la commande expire ou ne retourne aucune réponse, vérifiez si votre pare-feu local ou votre routeur applique une politique de blocage.
Si la commande retourne une réponse, définissez un délai d'expiration raisonnable pour éviter les échecs de requête dus à une configuration inadaptée. Pour plus d'informations, consultez Configuration du délai d'expiration. L'exemple de code suivant illustre cette configuration :
// Set the timeout in runtime parameters. This is valid only for requests that use this runtime parameter instance.
$runtimeOptions = new RuntimeOptions();
$runtimeOptions->connectTimeout = $connectionTimeoutMillis;
Temps de traitement long de l'API
Description : Le temps nécessaire à l'API de destination pour traiter la requête dépasse le délai de lecture configuré.
Solution : Configurez le délai de lecture pour tenir compte d'un temps de réponse plus long de l'API. Pour plus d'informations, consultez Configuration du délai d'expiration. Vous pouvez notamment configurer le paramètre de délai de lecture pour prolonger ce délai pour la requête en cours. L'exemple de code suivant illustre cette configuration :
// Set the timeout in runtime parameters. This is valid only for requests that use this runtime parameter instance.
$runtimeOptions = new RuntimeOptions();
$runtimeOptions->readTimeout = $readTimeoutMillis;
Problème 7 : Une erreur « 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 ... » est signalée lors de l'exécution.
Cette erreur survient car l'extension curl pour PHP est manquante. Solution :
Pour les systèmes Ubuntu/Debian :
sudo apt-get install php-curl
Pour les systèmes CentOS/Fedora/RHEL :
sudo yum install php-curl
Problème 9 : Lors de l'exécution de la commande composer require, un message d'erreur « [Composer\Downloader\TransportException], The file could not be downloaded (HTTP/1.1 404 Not Found) » ou « your requirements could not be resolved to an installable set of packages » est signalé.
[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)
Causes possibles
La source miroir de trafic utilisée, telle que le miroir Alibaba Cloud, n'a peut-être pas synchronisé les dernières informations de package à temps, ce qui entraîne l'absence de certains fichiers.
L'URL de la source miroir de trafic a pu changer ou le chemin est incorrect.
Solutions
-
Vérifiez que vous utilisez la bonne source miroir de trafic.
-
Exécutez la commande suivante pour afficher la source miroir Composer actuellement configurée :
composer config -g --list -
Miroir complet Alibaba Cloud pour
Composer:https://mirrors.aliyun.com/composer/composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ -
Miroir complet Tsinghua pour
Composer:https://mirrors.tuna.tsinghua.edu.cn/composer/composer config -g repo.packagist composer https://mirrors.tuna.tsinghua.edu.cn/composer/
-
-
Désactivez temporairement la source miroir de trafic pour utiliser directement le dépôt central officiel. Pour cela, modifiez ou supprimez la configuration
repositoriesdanscomposer.json, ou exécutez la commandecomposer config --unset repos.url.# Use the official Composer repository. composer config -g repo.packagist composer https://packagist.org Vérifiez votre connectivité réseau. Un réseau instable peut empêcher le téléchargement correct des fichiers. Essayez de changer d'environnement réseau ou d'utiliser un VPN.
-
Si un message s'affiche lors de l'exécution de la commande indiquant que la version de Composer est trop ancienne (`
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.`), mettez-la à jour vers la dernière version (facultatif).# Update Composer to the latest version. composer self-update # Use composer.phar to run the latest version. composer self-update --1 -
Si un avertissement
Composers'affiche lors de l'exécution de la commande, cela indique que la prise en charge deComposer 1sera abandonnée. Pour une meilleure compatibilité et sécurité, passez à la version 2.x (facultatif).composer self-update --2ImportantVérifiez si les packages dont dépend votre projet prennent en charge Composer 2.x. Une mise à jour du code et de la configuration du projet peut être nécessaire.
-
Si une erreur
Content-Lengthsurvient pendant le téléchargement, cela signifie généralement que le téléchargement des données a été interrompu et que les données reçues ne correspondent pas à la valeur attendue.-
Videz le cache Composer et relancez la commande d'installation.
# 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/* Des fluctuations réseau pouvant provoquer des interruptions de téléchargement, exécutez la commande d'installation à plusieurs reprises.
Vérifiez la stabilité de votre réseau. Assurez-vous que la connexion est stable et évitez les téléchargements aux heures de pointe.
-
Problème 10 : Une erreur « 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 » est signalée lors de l'exécution de Composer.
Causes possibles
Lorsque Composer tente d'installer des dépendances, il ne parvient pas à supprimer les fichiers temporaires. Cela peut être dû au verrouillage du fichier par un logiciel antivirus ou par l'indexeur de recherche Windows.
Solutions
-
Vérifiez les permissions. Sur un système Windows, Composer peut échouer à créer ou modifier les fichiers requis en raison de permissions insuffisantes.
Assurez-vous d'exécuter toutes les commandes Composer en mode administrateur pour éviter les problèmes de permissions.
Confirmez que les fichiers et répertoires requis par Composer disposent des permissions de lecture et d'écriture.
-
Vérifiez la disponibilité de la version du package, videz le cache et réinstallez.
-
Vérifiez les versions disponibles du package requis. Par exemple :
composer show alibabacloud/ecs-20140526 --all -
Videz le cache Composer et réinstallez :
composer clear-cache
-
-
Vérifiez si le service Windows Search est en cours d'exécution. Ce service peut indexer des fichiers, provoquant leur verrouillage. Pour arrêter ce service, procédez comme suit :
Appuyez sur
Win + Rpour ouvrir la boîte de dialogue Exécuter.Saisissez
services.mscet appuyez surEntrée.Localisez le service « Windows Search », faites un clic droit dessus et sélectionnez « Arrêter ».
Une fois le service arrêté, tentez d'installer à nouveau les dépendances Composer.
-
Déverrouillez le fichier ou créez un nouveau répertoire pour l'installation.
-
Déverrouillez le fichier en exécutant la ligne de commande en tant qu'administrateur :
Faites un clic droit sur CMD ou PowerShell et sélectionnez « Exécuter en tant qu'administrateur ».
-
Exécutez la commande suivante pour supprimer le répertoire verrouillé :
rmdir /S /Q "D:\www\touming_keyword_api\vendor\composer\tmp-7fd77eb46d69640d6040743642007957" Assurez-vous qu'aucun programme, tel qu'un antivirus ou l'indexeur de recherche Windows, ne verrouille le fichier. Essayez de désactiver temporairement l'antivirus et relancez la commande Composer.
-
Créez un nouveau répertoire pour l'installation. Créez un nouveau répertoire et effectuez-y les opérations Composer :
mkdir D:\new_directory cd D:\new_directory composer require alibabacloud/ecs-20140526 6.0.1
-
-
Si une erreur 404 survient lors de l'installation, changez de source miroir de trafic et réessayez.
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.
Problème 11 : Une erreur « cURL error 61 » est signalée lors de l'exécution de composer require alibabacloud/dysmsapi-20170525.
Causes possibles
Problème de cache Composer : le cache local est corrompu ou incomplet.
Problème de source miroir : la source miroir de trafic est instable ou indisponible.
Problème réseau : la connexion réseau est instable ou bloquée par un pare-feu.
Problème de version Composer : une version obsolète de Composer est utilisée.
Problème de configuration environnementale : les variables d'environnement ou le fichier de configuration Composer présentent une anomalie.
Solutions
-
Vérifiez votre connectivité réseau.
-
Exécutez la commande suivante pour tester le bon fonctionnement du réseau :
curl -I https://mirrors.aliyun.com/composer/p2/alibabacloud/dysmsapi-20170525.json Vérifiez les paramètres du pare-feu pour vous assurer qu'il ne bloque pas l'accès de
curlaux ressources externes.Essayez d'utiliser un autre réseau. Changez d'environnement réseau, par exemple en passant d'un réseau d'entreprise à un réseau personnel.
-
-
Vérifiez la configuration de Composer et utilisez directement le dépôt central officiel.
composer config -g --list composer config -g repo.packagist composer https://packagist.org -
Supprimez le package Composer installé, réinstallez-le et videz le cache Composer.
-
Supprimez le répertoire de cache local :
rm -rf ~/.composer -
Videz le cache Composer :
composer clear-cache
-
-
Si l'erreur persiste, consultez les journaux détaillés de Composer :
composer install --verbose
Problème 12 : Lors de l'exécution decomposer pour installer le package SDK Alibaba Cloud, l'erreur suivante est signalée : « Your requirements could not be resolved to an installable set of packages. ».
Cette erreur peut avoir diverses origines. Les exemples suivants vous aideront à la résoudre.
Exemple 1
Message d'erreur :
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.
Causes possibles :
Le numéro de version spécifié, tel que
3.4.1, n'existe peut-être pas ou n'a pas encore été publié.La source miroir Composer utilisée n'est pas synchronisée avec la dernière version du package.
Un problème réseau empêche le téléchargement correct du package.
Solutions :
-
Exécutez la commande suivante pour afficher toutes les versions disponibles du package :
composer show alibabacloud/XXXXXX --allModifiez la version dans le fichier
composer.jsonpour choisir une version disponible, puis exécutezcomposer updatepour réinstaller. -
Changez de source miroir
Composer.-
Exécutez la commande suivante pour passer à la source miroir officielle Packagist :
composer config -g repo.packagist composer https://repo.packagist.org -
Passez à la source miroir accélérée fournie par Alibaba Cloud en Chine continentale :
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
Après le changement, videz le cache et réinstallez :
composer clear-cache composer install -
-
Vérifiez le bon fonctionnement de votre connexion réseau et privilégiez un environnement réseau stable. Si l'installation échoue toujours, essayez de télécharger manuellement le fichier du package au format
.zipou.tar.gzet installez-le via un chemin local :composer require alibabacloud/XXXXXX@dev --prefer-source
Exemple 2
Message d'erreur :
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]#
Cause :
Lors de l'installation de alibabacloud/cloudauth-20190307:3.9.2, sa dépendance alibabacloud/tea-oss-utils:0.3.1 exige que guzzlehttp/psr7 soit dans la plage de versions [1.0.0,...,2.0.0). Or, la version actuellement installée de guzzlehttp/psr7 est figée à [1.0.0,..,1.9.1], ce qui provoque un conflit de dépendances.
Solutions :
-
Forcez la mise à jour de la version de la dépendance.
composer require alibabacloud/cloudauth-20190307 3.9.2 -W -
Dans la section
requiredu fichiercomposer.json, ajoutez une contrainte de version pour guzzlehttp/psr7, par exemple « guzzlehttp/psr7 »: « ^1.0 ». Exécutez ensuite la commande suivante pour mettre à jour les dépendances.composer update -
Supprimez
composer.locket exécutez la commande suivante pour réinstaller.composer install --prefer-source
Problème 12 : Un message d'erreur « cURL error 60: SSL certificate problem: unable to get local issuer certificate » est signalé lors de l'appel d'une OpenAPI.
Causes :
Package de certificats CA non téléchargé : le système ne dispose pas d'un fichier de certificat CA de confiance, ce qui empêche cURL de vérifier le certificat SSL.
La configuration cURL de PHP ne spécifie pas de chemin de certificat CA : le paramètre
curl.cainfoouopenssl.cafilen'est pas configuré correctement dans le fichierphp.ini.Service PHP non redémarré : le service PHP n'a pas été redémarré après la modification du fichier
php.ini, la configuration n'a donc pas pris effet.
Solutions :
-
Téléchargez un certificat CA de confiance, tel que le Mozilla CA Certificate Store. Enregistrez le fichier
cacert.pemtéléchargé dans un répertoire fixe.ImportantAssurez-vous que le chemin du fichier ne contient ni caractères chinois ni caractères spéciaux afin d'éviter tout problème potentiel.
-
Configurez le chemin du certificat SSL pour PHP.
Ouvrez le fichier de configuration PHP
php.ini. Localisez le fichier en exécutant la commandephp --ini.-
Dans le fichier
php.ini, localisezcurl.cainfo, définissez sa valeur sur le chemin absolu du certificat CA et supprimez le point-virgule (;) au début de l'élément de configuration.# Example curl.cainfo = "D:\path\to\cacert.pem" openssl.cafile = "D:\path\to\cacert.pem"Enregistrez le fichier après modification.
RemarqueRemplacez le chemin
D:\path\to\cacert.pemde l'exemple par le chemin absolu réel de votre certificat CA téléchargé.
Redémarrez le service PHP.
Problème 13 : L'installation via Composer échoue avec le message « 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. »**
Causes
-
Conflits de versions :
Les versions de certaines dépendances sont verrouillées par le fichier
composer.lock.Par défaut, Composer ne met pas automatiquement à jour ces packages de dépendances verrouillés.
Par exemple,
alibabacloud/cloudauth-20190307nécessite la version2.0.1dealibabacloud/openplatform-20191219, mais la version actuellement verrouillée est1.0.3.
-
Incompatibilité de version PHP :
Vous utilisez PHP 8.2, mais certains packages de dépendances ne prennent en charge que PHP 5.4 à 7.x.
Par exemple,
ralouphie/mimey 2.1.0ne prend en charge que PHP^5.4|^7.0, alors que votre environnement utilise PHP8.2.27.
Solutions
-
Forcez la mise à niveau de toutes les dépendances associées :
composer update --with-all-dependencies # Or the short form: composer update -WRemarqueCette opération met à jour récursivement tous les packages de dépendances associés, y compris les anciennes versions verrouillées par
composer.lock, afin de résoudre les conflits de versions. -
Supprimez
composer.locketvendor/, puis réinstallez. Cette approche est recommandée en cas de confusion sévère des dépendances.rm composer.lock vendor/ composer clear-cache composer installImportantCette opération supprime toutes les dépendances installées.
Si un package de dépendances ne prend pas en charge PHP 8, rétrogradez temporairement vers une version antérieure de PHP pour garantir la compatibilité.
Problème 14 : Le script @php think service:discover gérant l'événement post-autoload-dump a retourné le code d'erreur 255.
Causes
Après l'exécution de
composer installouupdate, Composer échoue à exécuter la commande de découverte automatique des services de ThinkPHP,php think service:discover. Cela interrompt l'ensemble du processus d'installation.Dépassement de mémoire ou autres erreurs.
Solutions
-
Désactivez temporairement le script de découverte des services. Modifiez pour cela le fichier
composer.jsonsitué à la racine du projet :{ "scripts": { "post-autoload-dump": "@php think service:discover" } }Remplacez-le par :
{ "scripts": { "post-autoload-dump": "@echo Skipping 'php think service:discover'" } }Exécutez à nouveau
composer dump-autoload. -
Augmentez la limite de mémoire PHP. Modifiez pour cela la configuration suivante dans le fichier
php.ini:memory_limit = 512M
Problème 15 : Undefined property: Darabonba\OpenApi\Models\Config::$tlsMinVersion
Cause : La version de alibabacloud/darabonba-openapi est antérieure à 0.2.14.
Solution : Exécutez la commande suivante pour mettre à jour alibabacloud/darabonba-openapi vers la version 0.2.14 ou ultérieure.
composer require alibabacloud/darabonba-openapi >=0.2.14
Support technique
Les solutions aux problèmes ci-dessus visent à faciliter votre utilisation du SDK Alibaba Cloud. Si vous rencontrez d'autres problèmes, contactez-nous par l'un des moyens suivants :
Soumettre un ticket : Page de soumission de tickets Alibaba Cloud.
Si vous avez des besoins spécifiques ou des commentaires, rejoignez le groupe DingTalk pour contacter le support technique Alibaba Cloud. Le numéro du groupe est 60965016010.