備忘
- 2022/10/16くらいからLaravel開発環境で突然「Expected name to be a non-empty string.」というエラーが発生し、artisanコマンドがいっさい実行できなくなった。
- 調べていくとCI/CDで実行している
composer update
の結果「vlucas/phpdotenv」というライブラリのアップデートが行われたことがわかった。(v5.4.1 => v5.5.0) - GitHubを見ると、AdapterRepository.phpに環境変数名の空チェックロジックが追加されていることがわかった。
- env()メソッドに渡す環境変数名が空の場合、いままではスルーされていたが、例外をスローするようになっていた。
- 環境変数名が空の場合はenvを呼ばないように修正した。(そもそも変数名が空になることがあることは置いておく)
// キーが空の場合はenv()にて例外が発生する。
// 前バージョンでは`echo('')`と同じ挙動だった。
$key = '';
echo(env($key));
エラー内容
In AdapterRepository.php line 65:
Expected name to be a non-empty string.