Symfony CRUDアプリケーションを作成したいのですが。これらは私がしたステップです:
htdocs
に移動します。composer create-project symfony/skeleton my_project
でsymfonyプロジェクトを作成しましたlocalhost/my_project/public/
ここに私はエラーメッセージを得ました:
致命的なエラー:composer.lockはPHPバージョン7.4以降で作成されましたが、現在のPHPバージョンは7.3.11です。
CLIでphp -v
を使用してPHPのバージョンを確認すると、PHP 7.4.0(cli)を使用した結果が得られます。PHPInfoをクリックしてPHPのバージョンを確認すると、 XAMPPのダッシュボード(localhost/dashboard/phpinfo.php)、ページにphpバージョン7.3.11が表示されます。
作成されたsymfonyフォルダーにはsymfony.lockというファイルがあります。 "php": { "version": "7.4" },
というエントリがあります。このエントリを変更しても問題は解決しませんでした。
これを解決する方法はありますか?そして、なぜXAMPPで最新のsymfonyをインストールしてテストできないのですか?
みんなありがとう!
ムーサ
別のバージョンのphpで生成されたvendor/autoload.php
ファイルをアップロードしたことが原因である可能性があります。これは、CI/CDを使用してPHPアプリをビルドする場合によく見られます。
したがって、composer dump-autoload
を実行するのではなく、アーティファクトからこのファイルを除外するのが最善の方法です(これが最後のチャンスの解決策になる可能性があります)。
これは、ローカルマシンに2つの異なるバージョンのphpがある場合に簡単に発生します。これを回避するには、ローカルサーバーが実行しているものと一致するバージョンのphpをコンソールで見つけます。
rm composer.lock
/usr/bin/php /usr/local/bin/composer install
その後、Composerは適切なバージョンのphpでロックファイルを再作成します。
composerがインストールされているphpフォルダーと、xampp、wampp、lamppバージョンなどのApacheサーバーは同じです。
たとえば、composerがインストールされているphpのバージョンが7.4以降の場合、xampp、wampp、lamppなどのApacheサーバーのバージョンも7.4以降である必要があります。