web-dev-qa-db-fra.com

Erreur fatale: composer.lock a été créé pour PHP version 7.4 ou supérieure mais la version actuelle PHP version est 7.3.11

Je veux créer une application Symfony CRUD. Ce sont les étapes que j'ai faites:

  • XAMPP téléchargé et installé à partir d'ici avec PHP 7.3.11 https://www.apachefriends.org/de/index.html
  • Accédez à htdocs avec la CLI de Windows.
  • Création d'un projet symfony avec la commande composer create-project symfony/skeleton my_project
  • Ouverture de mon navigateur (Firefox 70.0.1) et accédez à l'URL: localhost/my_project/public/

Ici, j'ai reçu le message d'erreur:

Erreur fatale: composer.lock a été créé pour PHP version 7.4 ou supérieure mais la version actuelle PHP version est 7.3.11 .

Lorsque je vérifie ma version php dans la CLI avec php -v J'obtiens le résultat que j'utilise PHP 7.4.0 (cli). Lorsque je vérifie la version php en cliquant sur PHPInfo sur le tableau de bord de XAMPP (localhost/dashboard/phpinfo.php) , la page me montre la version php 7.3.11.

Dans le dossier symfony créé se trouve un fichier appelé symfony.lock . Il existe une entrée appelée "php": { "version": "7.4" },. La modification de cette entrée n'a pas résolu mon problème.

Des idées pour résoudre ceci? Et pourquoi je ne peux pas installer et tester le plus récent symfony avec XAMPP?

Merci beaucoup les gars!

Musa

5
Musa

Cela peut être dû au fait que vous avez téléchargé le fichier vendor/autoload.php généré sur une autre version de php. C'est souvent le cas lorsque vous utilisez CI/CD pour créer votre PHP app.

La meilleure approche serait donc d'exclure ce fichier de vos artefacts au lieu d'exécuter composer dump-autoload (qui pourrait être la solution de dernière chance).

0
webofmars

cela peut facilement se produire si vous avez deux versions différentes de php sur votre machine locale. Pour contourner cela, trouvez la version de php dans la console qui correspond à ce que votre serveur local exécute.

rm composer.lock
/usr/bin/php /usr/local/bin/composer install

Composer recréera ensuite le fichier de verrouillage avec la version appropriée de php.

0
Robert Saylor

le dossier php dans lequel le composer installé et le serveur Apache tel que xampp, wampp, version lampp sont devraient être similaires).

par exemple, si la version de php avec laquelle composer est installé avec est 7.4 ou supérieure, la version du serveur Apache telle que xampp, wampp, lampp devrait également être 7.4 ou supérieure)

0
Kisa Kabeta