这听起来像是一个微不足道的错误,但我几个小时都找不到解决方案。
我尝试在Laravel项目中使用https://github.com/michaelbonds/laravel-db2,然后使用composer添加它。
这是我的composer.json。
PHP Fatal error: Class 'MichaelB\Database\DB2\DB2ServiceProvider' not found in /var/www/html/mysjsu/vendor/laravel/framework/src/Illuminate/Foundation/ProviderRepository.php on line 146
这是错误:
[Symfony\Component\Debug\Exception\FatalErrorException]
Class 'MichaelB\Database\DB2\DB2ServiceProvider' not found
和
"michaelb/laravel-db2": "~2.0"
我之前在StackOverflow上发现了类似的问题,有人建议订单很重要。所以,这就是我按以下顺序做的事情:
composer.json
添加到php ../composer.phar update
MichaelB\Database\DB2\DB2ServiceProvider::class
providers
添加到config/app.php
php artisan migrate
arary
-
对可能出现的问题有任何想法吗?
答案 0 :(得分:0)
此包是cooperl/laravel-db2
的分支。文档不准确。
他将名称空间更改为MichaelB
,但从未将其标记为稳定版本,因此当作曲家需要他的~2.0
时,packagist会为您提供错误名称空间的旧版本。
因此,当您运行composer update
时,它会运行一些后期cmd脚本,例如php artisan optimize
,它会尝试从配置文件中提取但由于该类不存在而失败。
以下是如何修复它:
将composer.json更改为此版本:
"michaelb/laravel-db2": "dev-master"
运行composer update --no-scripts
然后你应该好。