Solución:
Puede probar https://php-download.com/ que puede ayudarlo a descargar todas las dependencias la mayor parte del tiempo junto con vendor
carpeta. Promete compositor no requerido. Lo probé yo mismo. Busca y crea todas las carpetas necesarias y las comprime para su descarga. Funciona perfectamente !!
los composer.json
archivo enumera las dependencias. En tu ejemplo:
"require": {
"php": ">=5.5.0",
"guzzlehttp/guzzle": "^6.0",
"psr/http-message": "^1.0",
"psr/log": "^1.0"
},
A continuación, debe encontrar los paquetes correspondientes en el sitio de packagist. Repita el mismo proceso para cada dependencia: busque dependencias adicionales en sus correspondientes composer.json
archivos y busque de nuevo.
Cuando finalmente tenga una lista completa de los paquetes requeridos, solo necesita instalarlos todos uno por uno. En su mayor parte, es solo cuestión de colocar los archivos en algún lugar del directorio de su proyecto. Pero también debe asegurarse de que PHP pueda encontrar las clases necesarias. Dado que no está utilizando el cargador automático de Composer, debe agregarlos a su propio cargador automático personalizado. Puede averiguar la información de los respectivos composer.json
archivos, por ejemplo:
"autoload": {
"psr-4": { "Coinbase\Wallet\": "src/" }
},
Si no usa un cargador automático de clases, deberá averiguar el individuo require_once
declaraciones. Probablemente necesitará mucho ensayo y error porque a la mayoría de los autores de bibliotecas no les importará documentar eso.
Además, y en caso de que haya confusión sobre esto:
- Composer tiene un instalador GUI oficial para Windows y un copiar y pegar procedimiento de instalación de la línea de comandos para todas las plataformas.
- Composer se puede ejecutar localmente y su salida se puede cargar en otro lugar. No necesita SSH en su alojamiento compartido.
- El comando necesario para instalar una biblioteca se puede copiar y pegar desde el sitio web del paquete; incluso si el encargado del paquete no se preocupó de documentarlo, packagist.org lo genera de forma predeterminada.
Composer no es perfecto y no se adapta a todos los casos de uso pero, cuando se trata de instalar una biblioteca que se base en él, sin duda es la mejor alternativa y bastante decente.
Revisé otras respuestas que vinieron después de la mía. En su mayoría se dividen en dos categorías:
- Instale una biblioteca y escriba un script de descarga personalizado con ella
- Utilice una interfaz web en línea para Composer
A menos que me falte algo, ninguno de ellos aborda las quejas expresadas por el OP:
- Curva de aprendizaje
- Uso de software de terceros
- Posibilidad de desarrollar directamente en el servidor (usando SSH, supongo)
- Árbol de dependencia potencialmente profundo
Estoy usando alojamiento compartido para un sitio web y no puedo ejecutar comandos allí. Además de ejecutar el compositor a través de la solicitud de script php que solicito a través del navegador, generalmente uso este flujo de trabajo:
- Asegúrese de tener php instalado localmente.
- Crear directorio en el escritorio.
- descargue composer.phar de https://getcomposer.org/download/ (debajo del encabezado *Descargar manual) y colóquelo en el directorio.
-
hacer un archivo composer.json pega en él los siguientes contenidos
{ "require": { "coinbase/coinbase": "~2.0" } }
-
Busque el directorio con el shell de su elección (bash, git-bash, cmd, windows bash)
- escribe
php composer.phar update
- Cargue el directorio de proveedores en su servidor web a través de ftp o cualquier mecánico que utilice.
-
incluya en su proyecto php donde carga sus bibliotecas (modifique la ruta donde cargó el directorio del proveedor para que incluya ese archivo de carga automática)
require_once('vendor/autoload.php');
De esta manera, obtiene el beneficio de la administración de dependencias y no tiene que incluir manualmente todos los miles de millones de archivos y descargar todas las dependencias manualmente, y actualizarlas es tan fácil como escribir php composer.phar update
y luego reemplazar el directorio del proveedor en su servidor por el nuevo.