J'essaie d'installer l'API Coinbase PHP mais cela nécessite Composer:
https://github.com/coinbase/coinbase-php
Je recherche une solution universelle PHP (peut-être une fonction) pour me permettre d'installer les packages composer directement sur mon serveur, sans avoir à utiliser Composer.
Je pense que les développeurs de Composer pensent qu’ils aident les gens, mais en réalité, des milliers de développeurs débutants sont en train d’empêcher l’apprentissage du développement Web par la "barrière des compositeurs".
Cela aiderait vraiment s'il y avait une solution flexible ou une approche où nous pourrions installer sans Composer? Comment puis-je faire ceci?
S'il vous plaît ne répondez pas avec un commentaire sarcastique . Il y a des gens qui ne veulent pas utiliser Composer et je ne vois pas pourquoi nous devrions être regroupés dans un logiciel tiers spécifique pour pouvoir faire du développement Web.
Le fichier composer.json
] répertorie les dépendances. Dans votre exemple:
"require": {
"php": ">=5.5.0",
"guzzlehttp/guzzle": "^6.0",
"psr/http-message": "^1.0",
"psr/log": "^1.0"
},
Vous devez ensuite trouver les packages correspondants dans le site packagist . Répétez le même processus pour chaque dépendance: recherchez des dépendances supplémentaires dans leurs fichiers composer.json
correspondants et effectuez une nouvelle recherche.
Lorsque vous disposez enfin d'une liste complète des packages requis, il vous suffit de les installer un par un. Pour l'essentiel, il suffit de déposer les fichiers quelque part dans votre répertoire de projet. Mais vous devez également vous assurer que PHP peut trouver les classes nécessaires. Puisque vous n'utilisez pas le chargeur automatique de Composer, vous devez les ajouter à votre propre autochargeur personnalisé. Vous pouvez comprendre les informations à partir des fichiers composer.json
respectifs, par exemple:
"autoload": {
"psr-4": { "Coinbase\\Wallet\\": "src/" }
},
Si vous n'utilisez pas de chargeur automatique de classe, vous devez déterminer les instructions individuelles require_once
. Vous aurez probablement besoin de beaucoup d'essais et d'erreurs car la plupart des auteurs de bibliothèques ne se soucient pas de documenter cela.
Aussi, et juste au cas où il y aurait confusion à ce sujet:
Composer n’est pas parfait et ne convient pas à tous les cas d’utilisation mais, s’agissant d’installer une bibliothèque reposant sur cette bibliothèque, c’est sans aucun doute la meilleure alternative, et elle est plutôt correcte.
J'ai vérifié d'autres réponses qui venaient après les miennes. Ils tombent principalement dans deux catégories:
À moins que quelque chose ne me manque, aucun d’entre eux ne répond aux plaintes formulées par le PO:
Vous pouvez essayer https://php-download.com/ qui peut vous aider à télécharger toutes les dépendances la plupart du temps avec le dossier vendor
. Cela promet que composer n'est pas requis. J'ai essayé moi-même. Il trouve et crée tous les dossiers requis et le télécharge pour le télécharger. Fonctionne parfaitement !!
Je devais le faire pour un serveur FTP auquel je n'avais pas accès SSH. Le site répertorié ici a fonctionné, puis j'ai réalisé que vous pouvez simplement effectuer une installation de composer sur votre propre serveur (à l'aide de la version PHP de votre cible), puis copier tous les fichiers.
Ce n'est pas la solution ultime mais pour moi, cela a été d'une grande aide pour la plupart des cas: https://github.com/Wilkins/composer-file-loader
Vous permet de charger le fichier composer.json exactement comme le ferait composer. Cela vous permet de charger le fichier composer.json sans composer (donc théoriquement PHP 5.2 est suffisant)
Je sais que la question est ancienne mais j'espère que cela aidera quelqu'un.
J'utilise l'hébergement partagé pour un site Web et je ne peux pas y exécuter de commandes. En plus d'exécuter composer via une requête de script php que je demande via un navigateur, j'utilise généralement ce flux de travail:
faire un fichier composer.json y coller le contenu suivant
{
"require": {
"coinbase/coinbase": "~2.0"
}
}
Accédez au répertoire contenant le shell de votre choix (bash, git-bash, cmd, windows bash)
php composer.phar update
incluez dans votre projet php où vous chargez vos bibliothèques (modifiez le chemin vers lequel vous avez téléchargé le répertoire du vendeur afin qu'il inclue ce fichier à chargement automatique)
require_once('vendor/autoload.php');
De cette façon, vous bénéficiez des avantages de la gestion des dépendances sans avoir à inclure manuellement tout le nombre de fichiers et à télécharger toutes les dépendances manuellement. Il est aussi simple de les mettre à jour que de taper php composer.phar update
puis de remplacer le répertoire du fournisseur. sur votre serveur avec le nouveau.