Este documento responde a las preguntas más comunes sobre el uso del SDK de PHP para ayudarle a desarrollar con mayor eficiencia.
Comprobación del entorno
Asegúrese de que el entorno de PHP esté instalado correctamente y de que la versión de PHP sea 5.6 o posterior.
Instale Composer de forma global en su sistema.
La versión de PHP utilizada para instalar el SDK con Composer debe ser igual o anterior a la versión de PHP en tiempo de ejecución. Por ejemplo, si instala el SDK en un entorno con PHP 7.2, el directorio vendor generado solo se puede usar con PHP 7.2 o posterior. Si lo copia a un entorno con PHP 5.6, se producirán problemas de incompatibilidad entre las versiones de las dependencias.
Problemas
Problema 1: inconvenientes al pasar los parámetros de AccessKey
Síntoma: se reporta un error cuando se ejecuta el código. Si el mensaje de error contiene la siguiente información, significa que las credenciales de Alibaba Cloud (AccessKey) no están configuradas correctamente.
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.
Solución:
-
Ejecute los siguientes comandos para comprobar si las variables de entorno
ALIBABA_CLOUD_ACCESS_KEY_IDyALIBABA_CLOUD_ACCESS_KEY_SECRETestán configuradas: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 se devuelve el AccessKey correcto, la configuración es exitosa. Si el valor devuelto está vacío o es incorrecto, intente establecer las variables de entorno nuevamente. Para obtener más información, consulte Configure environment variables on Linux, macOS, and Windows systems.
-
Revise el código en busca de errores relacionados con el AccessKey.
Ejemplo común de error:
$config = new Config([ "accessKeyId" => getenv("yourAccessKeyID"), "accessKeySecret" => getenv("yourAccessKeySecret") ]);Ejemplo correcto:
$config = new Config([ "accessKeyId" => getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"), "accessKeySecret" => getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET") ]);Notagetenv("ALIBABA_CLOUD_ACCESS_KEY_ID")
y
getenv()obtienen los valores deALIBABA_CLOUD_ACCESS_KEY_IDyALIBABA_CLOUD_ACCESS_KEY_SECRETde las variables de entorno.ImportanteNo codifique de forma rígida su AccessKey en texto plano dentro del código de producción. Esta práctica representa un riesgo de seguridad.
Problema 2: se reporta el mensaje de error "cURL error 60: SSL certificate problem: unable to get local issuer certificate" o "curl error 28 while downloading https://repo.packagist.org/packages.json: SSL connection timeout" al llamar a una OpenAPI.
Causas
Problemas de conectividad de red: la red local es inestable o un firewall está bloqueando la conexión SSL.
Problemas de configuración del proxy: el proxy no está configurado correctamente, lo que impide acceder a recursos externos.
Problemas con el certificado SSL: el sistema local no confía en algunos certificados SSL, lo que provoca tiempos de espera agotados en la conexión.
Soluciones
Compruebe la conectividad de red. Asegúrese de tener acceso a Internet y de que la conexión de red sea estable.
-
Configure Composer para usar 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 -
Descargue un certificado de CA de confianza:
Descargue un certificado de CA de confianza, como el almacén de certificados de CA de Mozilla.
Configure la ruta del certificado SSL para PHP. En el archivo php.ini, busque
curl.cainfo, establezca su valor con la ruta absoluta del certificado de CA y elimine el símbolo de comentario (;) del inicio del elemento de configuración.Reinicie el servicio de PHP.
-
Confíe en un certificado autofirmado (opcional). Si el problema de conexión se debe a un certificado autofirmado, permita que Composer omita la validación SSL. No se recomienda esta opción en entornos de producción.
composer config --global -- disable-sslImportanteEsta operación deshabilita temporalmente la validación SSL. Asegúrese de ejecutar después el comando
composer config --global --enable-sslpara volver a habilitarla y garantizar la seguridad del sistema.
Problema 3: se reporta el error "PHP Fatal error: Class 'Darabonba\OpenApi\Models\Config' not found" durante la ejecución.
Este error ocurre porque la función de carga automática de Composer no está habilitada. Solución:
Cuando Composer descarga las dependencias, genera un directorio vendor que contiene un archivo autoload.php. Agregue una instrucción require_once al código de su aplicación.
require_once(<path to the autoload.php file in the vendor directory>)
Problema 4: se reporta el error "PHP Fatal error: Uncaught exception 'GuzzleHttp\Exception\RequestException' with message 'cURL error 3'" durante la ejecución.
Este error se produce por un RegionId o un endpoint incorrecto. Solución:
Asegúrese de que la región seleccionada admita el servicio al que llama. Puede encontrar el endpoint del producto en la página principal del producto dentro del portal para desarrolladores de OpenAPI. Por ejemplo, para Short Message Service, inicie sesión en el portal de OpenAPI. En la barra de navegación superior, seleccione Short Message Service. En la página de descripción general de Short Message Service, haga clic en la pestaña Service Area List. Consulte el Region ID (como cn-beijing, cn-hangzhou o cn-shanghai) y el Service Endpoint (que es dysmsapi.aliyuncs.com para las regiones de China continental y dysmsapi.ap-southeast-1.aliyuncs.com para las regiones fuera de China) de cada región. Asegúrese de que el RegionId y el endpoint de su código coincidan con esta lista.
Problema 5: se reporta el error "Could not fetch [repository], please review your configured GitHub OAuth token" durante la ejecución.
Este error ocurre porque las credenciales de GitHub proporcionadas a Composer son incorrectas o caducaron. Solución:
Los paquetes del SDK de Alibaba Cloud no requieren credenciales de GitHub.
Si instaló Composer desde una fuente no oficial y no necesita credenciales de GitHub para acceder a repositorios privados, elimine el archivo
auth.jsondel directorio de Composer.Si necesita credenciales de GitHub para acceder a repositorios privados, renueve el token según las indicaciones de Composer.
Problema 6: se agota el tiempo de espera de una llamada a la API y se reporta el error "cURL error 28: Resolving timed out after 5000 milliseconds (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://dysmsapi.aliyuncs.com".
Los tiempos de espera agotados pueden deberse a varios factores. A continuación se describen las causas más comunes y sus soluciones:
Problemas de conectividad de red
Descripción: la solicitud no puede llegar al servidor de destino porque la red entre el cliente y el servidor está desconectada o es inestable.
Solución:
Use el comando ping o curl para probar la conectividad entre su host local y el endpoint del producto en la nube. Por ejemplo, si se agota el tiempo de espera de una llamada a la operación SendSms, utilice ping dysmsapi.aliyuncs.com o curl -v https://dysmsapi.aliyuncs.com para probar la conectividad.
Si el comando agota el tiempo de espera o no devuelve respuesta, compruebe si su firewall o router local tiene alguna política de bloqueo.
Si el comando devuelve una respuesta, establezca un tiempo de espera razonable para evitar que las solicitudes fallen por una configuración inadecuada. Para obtener más información, consulte Timeout configuration. El siguiente código muestra un ejemplo:
// Set the timeout in runtime parameters. This is valid only for requests that use this runtime parameter instance.
$runtimeOptions = new RuntimeOptions();
$runtimeOptions->connectTimeout = $connectionTimeoutMillis;
Tiempo prolongado de procesamiento de la API
Descripción: el tiempo que tarda la API de destino en procesar la solicitud supera el tiempo de espera de lectura configurado.
Solución: configure el tiempo de espera de lectura para contemplar un tiempo de respuesta de la API más largo. Para obtener más información, consulte Timeout configuration. Por ejemplo, configure el parámetro de tiempo de espera de lectura para ampliar dicho periodo en la solicitud actual. El siguiente código muestra un ejemplo:
// Set the timeout in runtime parameters. This is valid only for requests that use this runtime parameter instance.
$runtimeOptions = new RuntimeOptions();
$runtimeOptions->readTimeout = $readTimeoutMillis;
Problema 7: se reporta el error "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 ..." durante la ejecución.
Este error ocurre porque falta la extensión curl de PHP. Solución:
Para sistemas Ubuntu/Debian:
sudo apt-get install php-curl
Para sistemas CentOS/Fedora/RHEL:
sudo yum install php-curl
Problema 9: al ejecutar el comando composer require, se reporta el mensaje de error "[Composer\Downloader\TransportException], The file could not be downloaded (HTTP/1.1 404 Not Found)" o "your requirements could not be resolved to an installable set of packages".
[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)
Posibles causas
El origen de espejo de tráfico que utiliza, como el espejo de Alibaba Cloud, podría no haber sincronizado a tiempo la información más reciente de los paquetes. Esto provoca que falten algunos archivos.
La URL del origen de espejo de tráfico pudo haber cambiado o la ruta es incorrecta.
Soluciones
-
Compruebe y asegúrese de utilizar el origen de espejo de tráfico correcto.
-
Ejecute el siguiente comando para consultar el origen de espejo de tráfico de Composer configurado actualmente:
composer config -g --list -
Espejo completo de
Composerde Alibaba Cloud:https://mirrors.aliyun.com/composer/composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ -
Espejo completo de
Composerde Tsinghua:https://mirrors.tuna.tsinghua.edu.cn/composer/composer config -g repo.packagist composer https://mirrors.tuna.tsinghua.edu.cn/composer/
-
-
Deshabilite temporalmente el origen de espejo de tráfico y use directamente el repositorio central oficial. Para ello, modifique o elimine la configuración de
repositoriesencomposer.json, o ejecute el comandocomposer config --unset repos.url.# Use the official Composer repository. composer config -g repo.packagist composer https://packagist.org Compruebe la conectividad de red. Una red inestable puede impedir que los archivos se descarguen correctamente. Intente cambiar a otro entorno de red o utilice una VPN.
-
Si al ejecutar el comando se muestra un mensaje que indica que la versión de Composer es demasiado antigua (`
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.`), actualice a la versión más reciente (opcional).# Update Composer to the latest version. composer self-update # Use composer.phar to run the latest version. composer self-update --1 -
Si al ejecutar el comando se muestra una advertencia de
Composer, significa que se suspenderá la compatibilidad conComposer 1. Para mejorar la compatibilidad y la seguridad, actualice a la versión 2.x (opcional).composer self-update --2ImportanteCompruebe si los paquetes de los que depende su proyecto son compatibles con Composer 2.x. Es posible que deba actualizar el código y la configuración del proyecto.
-
Si se produce un error de
Content-Lengthdurante la descarga, generalmente se debe a que la descarga de datos se interrumpió y los datos recibidos no coinciden con el valor esperado.-
Borre la caché de Composer y vuelva a ejecutar el comando de instalación.
# 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/* Las fluctuaciones de la red pueden provocar interrupciones en la descarga. Ejecute el comando de instalación varias veces.
Compruebe la estabilidad de su red. Asegúrese de que la conexión sea estable y evite descargar durante las horas de mayor demanda.
-
Problema 10: se reporta el error "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" al ejecutar Composer.
Posibles causas
Cuando Composer intenta instalar las dependencias, no puede eliminar los archivos temporales. Esto puede deberse a que un software antivirus o el indexador de búsqueda de Windows bloqueó el archivo.
Soluciones
-
Compruebe los permisos. En un sistema Windows, Composer puede fallar al crear o modificar los archivos necesarios por falta de permisos.
Asegúrese de ejecutar todos los comandos de Composer en modo administrador para evitar problemas de permisos.
Confirme que los archivos y directorios que requiere Composer tengan permisos de lectura y escritura.
-
Compruebe la disponibilidad de la versión del paquete, borre la caché y vuelva a instalarlo.
-
Consulte las versiones disponibles del paquete requerido. Por ejemplo:
composer show alibabacloud/ecs-20140526 --all -
Borre la caché de Composer y vuelva a instalarlo:
composer clear-cache
-
-
Compruebe si el servicio Windows Search se está ejecutando. Este servicio puede indexar archivos y provocar que se bloqueen. Para detenerlo, siga estos pasos:
Presione
Win + Rpara abrir el cuadro de diálogo Ejecutar.Introduzca
services.mscy presioneEnter.Busque el servicio "Windows Search", haga clic derecho sobre él y seleccione "Stop".
Una vez detenido el servicio, intente instalar de nuevo las dependencias de Composer.
-
Desbloquee el archivo o cree un nuevo directorio para la instalación.
-
Desbloquee el archivo ejecutando la línea de comandos como administrador:
Haga clic derecho en CMD o PowerShell y seleccione "Run as administrator".
-
Ejecute el siguiente comando para eliminar el directorio bloqueado:
rmdir /S /Q "D:\www\touming_keyword_api\vendor\composer\tmp-7fd77eb46d69640d6040743642007957" Asegúrese de que ningún programa, como un software antivirus o el indexador de búsqueda de Windows, esté bloqueando el archivo. Intente deshabilitar temporalmente el software antivirus y vuelva a ejecutar el comando de Composer.
-
Cree un nuevo directorio para la instalación. Cree un directorio nuevo y ejecute las operaciones de Composer dentro de él:
mkdir D:\new_directory cd D:\new_directory composer require alibabacloud/ecs-20140526 6.0.1
-
-
Si se produce un error 404 durante la instalación, cambie el origen de espejo de tráfico e intente instalarlo de nuevo.
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.
Problema 11: se reporta un "cURL error 61" al ejecutar composer require alibabacloud/dysmsapi-20170525.
Posibles causas
Problema con la caché de Composer: la caché local está dañada o incompleta.
Problema con el origen de espejo de tráfico: el origen de espejo de tráfico es inestable o no está disponible.
Problema de red: la conexión de red es inestable o está bloqueada por un firewall.
Problema con la versión de Composer: se utiliza una versión obsoleta de Composer.
Problema de configuración del entorno: las variables de entorno o el archivo de configuración de Composer presentan anomalías.
Soluciones
-
Compruebe la conectividad de red.
-
Ejecute el siguiente comando para comprobar si la red funciona correctamente:
curl -I https://mirrors.aliyun.com/composer/p2/alibabacloud/dysmsapi-20170525.json Revise la configuración del firewall para asegurarse de que no bloquee el acceso de
curla recursos externos.Intente usar otra red. Cambie de entorno de red, por ejemplo, de una red corporativa a una red personal.
-
-
Revise la configuración de Composer y use directamente el repositorio central oficial.
composer config -g --list composer config -g repo.packagist composer https://packagist.org -
Elimine el paquete de Composer instalado, vuelva a instalarlo y borre la caché de Composer.
-
Elimine el directorio de caché local:
rm -rf ~/.composer -
Borre la caché de Composer:
composer clear-cache
-
-
Si el error persiste, consulte los registros detallados de Composer:
composer install --verbose
Pregunta 12: al ejecutarcomposer para instalar el paquete del SDK de Alibaba Cloud, se reporta el siguiente error: "Your requirements could not be resolved to an installable set of packages.".
Este error puede deberse a diversas razones. Los siguientes ejemplos le ayudarán a resolverlo.
Ejemplo 1
Mensaje de error:
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.
Posibles causas:
El número de versión especificado, como
3.4.1, podría no existir o no haberse publicado aún.El origen de espejo de tráfico de Composer que utiliza no se ha sincronizado con la versión más reciente del paquete.
Un problema de red impide extraer el paquete correctamente.
Soluciones:
-
Ejecute el siguiente comando para consultar todas las versiones disponibles del paquete:
composer show alibabacloud/XXXXXX --allModifique la versión en el archivo
composer.jsonpor una versión disponible y luego ejecutecomposer updatepara reinstalar. -
Cambie el origen de espejo de tráfico de
Composer.-
Ejecute el siguiente comando para cambiar al origen de espejo de tráfico oficial de Packagist:
composer config -g repo.packagist composer https://repo.packagist.org -
Cambie al origen de espejo de tráfico acelerado que proporciona Alibaba Cloud en China continental:
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
Después de cambiarlo, borre la caché y vuelva a instalar:
composer clear-cache composer install -
-
Compruebe si su conexión de red funciona correctamente e intente usar un entorno de red estable. Si la instalación sigue fallando, descargue manualmente el archivo del paquete en formato
.zipo.tar.gze instálelo mediante una ruta local:composer require alibabacloud/XXXXXX@dev --prefer-source
Ejemplo 2
Mensaje de error:
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]#
Causa:
Al instalar alibabacloud/cloudauth-20190307:3.9.2, su dependencia alibabacloud/tea-oss-utils:0.3.1 requiere que guzzlehttp/psr7 tenga la versión [1.0.0,...,2.0.0). Sin embargo, la versión instalada actualmente de guzzlehttp/psr7 está fijada en [1.0.0,..,1.9.1], lo que genera un conflicto de dependencias.
Soluciones:
-
Fuerce la actualización de la versión de la dependencia.
composer require alibabacloud/cloudauth-20190307 3.9.2 -W -
En la sección
requiredel archivocomposer.json, agregue una restricción de versión para guzzlehttp/psr7, como "guzzlehttp/psr7": "^1.0". Luego, ejecute el siguiente comando para actualizar las dependencias.composer update -
Elimine
composer.locky ejecute el siguiente comando para reinstalar.composer install --prefer-source
Problema 12: se reporta el mensaje de error "cURL error 60: SSL certificate problem: unable to get local issuer certificate" al llamar a una OpenAPI.
Causas:
Paquete de certificados de CA no descargado: al sistema le falta un archivo de certificado de CA de confianza, lo que impide que cURL verifique el certificado SSL.
La configuración de cURL de PHP no especifica una ruta de certificado de CA: el parámetro
curl.cainfooopenssl.cafileno está configurado correctamente en el archivophp.ini.Servicio de PHP no reiniciado: el servicio de PHP no se reinició después de modificar el archivo
php.ini, por lo que la configuración no surtió efecto.
Soluciones:
-
Descargue un certificado de CA de confianza, como el almacén de certificados de CA de Mozilla. Guarde el archivo
cacert.pemdescargado en un directorio fijo.ImportanteAsegúrese de que la ruta del archivo no contenga caracteres chinos ni caracteres especiales para evitar posibles problemas.
-
Configure la ruta del certificado SSL para PHP.
Abra el archivo de configuración de PHP
php.ini. Puede encontrar la ubicación del archivo ejecutando el comandophp --ini.-
En el archivo
php.ini, busquecurl.cainfo, establezca su valor con la ruta absoluta del certificado de CA y elimine el punto y coma (;) del inicio del elemento de configuración.# Example curl.cainfo = "D:\path\to\cacert.pem" openssl.cafile = "D:\path\to\cacert.pem"Guarde el archivo después de editarlo.
NotaReemplace la ruta
D:\path\to\cacert.pemdel ejemplo con la ruta absoluta real del certificado de CA que descargó.
Reinicie el servicio de PHP.
Problema 13: la instalación de Composer falla con el mensaje "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."
Causas
-
Conflictos de versión:
Las versiones de algunas dependencias están bloqueadas por el archivo
composer.lock.De forma predeterminada, Composer no actualiza automáticamente estos paquetes de dependencias bloqueados.
Por ejemplo,
alibabacloud/cloudauth-20190307requiere la versión2.0.1dealibabacloud/openplatform-20191219, pero la versión bloqueada actual es1.0.3.
-
Incompatibilidad de versión de PHP:
Está utilizando PHP 8.2, pero algunos paquetes de dependencias solo admiten PHP 5.4 a 7.x.
Por ejemplo,
ralouphie/mimey 2.1.0solo admite PHP^5.4|^7.0, pero su entorno tiene PHP8.2.27.
Soluciones
-
Fuerce la actualización de todas las dependencias relacionadas:
composer update --with-all-dependencies # Or the short form: composer update -WNotaEsta operación actualiza de forma recursiva todos los paquetes de dependencias relacionados, incluidas las versiones antiguas bloqueadas por
composer.lock, para ayudar a resolver los conflictos de versión. -
Elimine
composer.lockyvendor/, y luego vuelva a instalar. Se recomienda esta opción cuando hay una gran confusión de dependencias.rm composer.lock vendor/ composer clear-cache composer installImportanteEsta operación elimina todas las dependencias instaladas.
Si un paquete de dependencia no es compatible con PHP 8, cambie temporalmente a una versión anterior de PHP para garantizar la compatibilidad.
Problema 14: el script @php think service:discover que controla el evento post-autoload-dump devolvió el código de error 255
Causas
Después de ejecutar
composer installoupdate, Composer no logra ejecutar el comando de detección automática de servicios de ThinkPHP,php think service:discover. Esto interrumpe todo el proceso de instalación.Desbordamiento de memoria u otros errores.
Soluciones
-
Deshabilite temporalmente el script de detección de servicios. Para ello, modifique el archivo
composer.jsonen el directorio raíz del proyecto:{ "scripts": { "post-autoload-dump": "@php think service:discover" } }Cámbielo por lo siguiente:
{ "scripts": { "post-autoload-dump": "@echo Skipping 'php think service:discover'" } }Ejecute nuevamente
composer dump-autoload. -
Aumente el límite de memoria de PHP. Modifique la siguiente configuración en el archivo
php.ini:memory_limit = 512M
Problema 15: Undefined property: Darabonba\OpenApi\Models\Config::$tlsMinVersion
Causa: la versión de alibabacloud/darabonba-openapi es anterior a la 0.2.14.
Solución: ejecute el siguiente comando para actualizar alibabacloud/darabonba-openapi a la versión 0.2.14 o posterior.
composer require alibabacloud/darabonba-openapi >=0.2.14
Soporte técnico
Las soluciones a los problemas anteriores le ayudarán a usar el SDK de Alibaba Cloud con mayor facilidad. Si se presenta algún otro problema, contáctenos mediante uno de los siguientes medios:
Envíe un ticket: Alibaba Cloud Ticket Submission page.
Si tiene necesidades o comentarios relacionados, únase al grupo de DingTalk para comunicarse con el soporte técnico de Alibaba Cloud. El número del grupo es 60965016010.