如何解决 PHP 致命错误:未捕获的错误:在 laravel 版本更新时调用未定义的方法 Illuminate\Container\Container::basePath() 错误?
Posted
技术标签:
【中文标题】如何解决 PHP 致命错误:未捕获的错误:在 laravel 版本更新时调用未定义的方法 Illuminate\\Container\\Container::basePath() 错误?【英文标题】:How to solve PHP Fatal error: Uncaught Error: Call to undefined method Illuminate\Container\Container::basePath() error on laravel version update?如何解决 PHP 致命错误:未捕获的错误:在 laravel 版本更新时调用未定义的方法 Illuminate\Container\Container::basePath() 错误? 【发布时间】:2021-04-19 00:42:00 【问题描述】:我正在尝试将 laravel 版本从 5.3 更新到 5.4,但是当我运行 composer update
命令时出现此错误
php Fatal error: Uncaught Error: Call to undefined method Illuminate\Container\Container::basePath() in /my-project/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php:179
Stack trace:
#0 /my-project/vendor/carbonate/environmentconfig/src/EnvironmentConfig.php(49): base_path()
#1 /my-project/bootstrap/app.php(16): Carbonate\EnvironmentConfig\EnvironmentConfig::get()
#2 /my-project/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(289): Application->storagePath()
#3 /my-project/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(271): Illuminate\Foundation\Application->bindPathsInContainer()
#4 /my-project/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(147): Illuminate\Foundation\Application->setBasePath()
#5 /my-project/bootstrap/app.php(21): Illuminate\Foundation\Application->__construct()
我按照本指南进行更新:https://laravel.com/docs/5.4/upgrade
我也尝试删除供应商文件夹和 composer.lock 文件并运行命令composer install
,但我得到了同样的错误。
非常感谢您的帮助
【问题讨论】:
【参考方案1】:安装程序没有生成.env,很可能是由于缺少文件而没有设置APP_KEY,PHPUnit会抛出这个异常。
试试这些命令:
composer run-script post-root-package-install
php artisan key:generate
【讨论】:
以上是关于如何解决 PHP 致命错误:未捕获的错误:在 laravel 版本更新时调用未定义的方法 Illuminate\Container\Container::basePath() 错误?的主要内容,如果未能解决你的问题,请参考以下文章
PHP:致命错误:未捕获的错误:在布尔值上调用成员函数 execute() [重复]
致命错误:未捕获的错误:调用未定义的函数 mssql_query() [重复]
为啥我收到 PHP 致命错误:未捕获的错误:找不到类“MyClass”? [复制]