[Laravel]プロジェクト作成でエラー

PHP

Laravelでプロジェクトを作成しようとしたらエラーが発生した際の対処法です。

エラー情報

laravel new appName でプロジェクトを作成しようとしたら以下のようなエラーが出ました。

PS C:dev> laravel new sample
Crafting application...
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Installation request for league/flysystem 1.0.63 -> satisfiable by league/flysystem[1.0.63].
    - league/flysystem 1.0.63 requires ext-fileinfo * -> the requested PHP extension fileinfo is missing from your system.
  Problem 2
    - league/flysystem 1.0.63 requires ext-fileinfo * -> the requested PHP extension fileinfo is missing from your system.
    - laravel/framework v6.10.1 requires league/flysystem ^1.0.8 -> satisfiable by league/flysystem[1.0.63].
    - Installation request for laravel/framework v6.10.1 -> satisfiable by laravel/framework[v6.10.1].

  To enable extensions, verify that they are enabled in your .ini files:
    - C:phpphp.ini
  You can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode.

問題点は php の fileinfo という拡張機能が使えないこと

the requested extension fileinfo is missing from your system. というメッセージの部分です。
この fileinfo を有効化するために、php.iniを編集する必要があります。

php.ini の保管場所を確認

エラーメッセージの最終行にコマンドでphpで参照している
php.iniの保存場所が確認できると書いてあるので試してみます。

PS C:dev> php --ini
Configuration File (php.ini) Path: C:WINDOWS
Loaded Configuration File:         C:phpphp.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed:      (none)

C:phpphp.ini を参照しているということがわかりました。

エラー解消

php.iniを開いて、以下の記述を探し、コメントアウトを削除します。

php.ini編集前

;extension=ffi
;extension=fileinfo
;extension=gd2

php.ini編集後

;extension=ffi
extension=fileinfo
;extension=gd2

このエラーが発生したきっかけ

今回のこの問題は一度Laravel環境を整えたPCを修理に出して、
いろいろな設定が中途半端な状態になった為に発生しました。

通常セットアップでは発生しないと思います。
(少なくとも私は最初のセットアップで出ませんでした。。。)

ではでは、良いLaravelライフを!