Ce qui vous manque, c'est l'exécution composer install
, qui importera vos packages et créera le dossier du fournisseur, avec le script de chargement automatique.
Assurez-vous que votre chemin relatif est correct. Par exemple, les exemples de scripts dans PHPMailer se trouvent examples/
sous la racine du projet, donc le chemin relatif correct pour charger l'autochargeur de compositeur à partir de là serait ../vendor/autoload.php
.
Le fichier autoload.php dans C:\Windows\SysWOW64\vendor\autoload.php
lequel vous avez trouvé est probablement une installation de composition globale - où vous mettrez généralement des éléments tels que phpcs, phpunit, phpmd, etc.
composer update
n'est pas la même chose, et probablement pas ce que vous voulez utiliser. Si votre code est testé avec les versions actuelles de votre package, l'exécution update
peut entraîner des ruptures qui peuvent nécessiter des travaux et des tests supplémentaires.Ne lancez donc pas à update
moins d'avoir une raison spécifique et de comprendre exactement ce que cela signifie. Pour clarifier davantage - vous ne devriez probablement jamais exécuter que composer update
localement, jamais sur votre serveur car il est raisonnablement susceptible de casser les applications en production.
Je vois souvent des plaintes selon lesquelles les gens ne peuvent pas utiliser composer parce qu'ils ne peuvent pas l'exécuter sur leur serveur (par exemple parce qu'il est partagé et qu'ils n'ont pas d'accès shell). Dans ce cas, vous pouvez toujours utiliser composer: exécutez-le localement (un environnement qui n'a pas de telles restrictions), et téléchargez le dossier du fournisseur local qu'il génère avec tous vos autres scripts PHP.
L'exécution exécute composer update
également un composer install
, et si vous n'avez pas actuellement de vendor
dossier (c'est-à-dire que vous avez une nouvelle extraction d'un projet), puis composer install
effectue effectivement un composer update
, mais il est toujours essentiel de comprendre la différence entre les deux car ils ne sont certainement pas interchangeables.
Notez qu'il est également possible de mettre à jour un seul package en le nommant, par exemple:
composer update ramsey/uuid
Cela résoudra la version spécifiée dans votre composer.json
et l'installera dans le dossier de votre fournisseur, et mettra à jour votre composer.lock
fichier pour qu'il corresponde. Ceci est beaucoup moins susceptible de causer des problèmes qu'un général composer update
si vous avez juste besoin d'une mise à jour spécifique d'un package.
Composer 2.0 (bientôt disponible) devrait supprimer toutes les incohérences restantes entre les résultats de l'installation et de la mise à jour.