環境
OS: Windows10
chocolatey -v
0.10.15
composer -v
______
/ ____/___ ____ ___ ____ ____ ________ _____
/ / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
/_/
Composer version 2.1.6 2021-08-19 17:11:08
php -v
PHP 8.0.9 (cli) (built: Jul 29 2021 14:12:27) ( NTS Visual C++ 2019 x64 )
Copyright (c) The PHP Group
Zend Engine v4.0.9, Copyright (c) Zend Technologies
laravel -v
Laravel Installer 4.2.8
過去にXAMPPでPHPを使用していたので、そのときにインストールしたPHPのパスが残っている。
過去にインストールしたPHPの状況
インストールディレクトリ
C:\php-7.3.10
toos/php80のパスは、今回chocolateyを通してインストールしたPHPのパス。すでに順番を入れ替えてある。インストールしたてのときは、一番最後にtools/php80が追加される。
この順番のせいで、chocolateyでインストールしたPHPのパスが追加されているにも関わらず、過去にインストールしたPHPに優先的にパスが通ってしまう!
発生エラー
メモを残しておくのを忘れていましたm(__)m
composer install
composer update
composer global require "laravel/installer=~1.1"
などいろいろ試したけど、全て何かしらのエラーが発生。
PHPのパスの確認
$ which php
C:\tools\php80\php.EXE //これになっていたらOK
これが今回インストールしたPHPのパスになっているか確認して、なっていなければ環境変数を修正する。
そのうえで、composer installやphp artisan serveなどのコマンド実行時のエラーログで表示される解決法を実施する。
たしかphp.iniをいじらないと行けない。
実はこれを過去にインストールしたディレクトリのをいじっていたけど意味が無い。新しいtoos/phpの方をいじる!
おそらく下の3つのコメントアウトを外せばOK
// 行頭の;を削除すればコメントアウトが外せます
extension=mbstring
extension=openssl
extension=fileinfo
環境変数が編集できない場合
Start C:\Windows\system32\rundll32.exe sysdm.cpl, EditEnvironmentVariables
これで環境変数が編集できる状態になります。
php.iniの上書き保存ができない場合
なにかのプロセスが掴んでいて保存できない状況になっていたので、パソコンを再起動したら編集できるようになります。
権限とかいろいろ書いてあったりしましたが、結局再起動したら解決しました。。。