Laravel &引用;找不到驱动程序“;执行查询时的消息

Laravel &引用;找不到驱动程序“;执行查询时的消息,laravel,ubuntu,composer-php,Laravel,Ubuntu,Composer Php,我有一个拉威尔项目。在我把Ubuntu 19.04升级到19.10之前,一切都很好。在Postman上测试API时,我遇到以下错误: "message": "could not find driver (SQL: select * from `users` where `username` = genesis limit 1)", "exception": "Illuminate\\Database\\QueryException", "file": "/home/arkhalis/Repos/

我有一个拉威尔项目。在我把Ubuntu 19.04升级到19.10之前,一切都很好。在Postman上测试API时,我遇到以下错误:

"message": "could not find driver (SQL: select * from `users` where `username` = genesis limit 1)",
"exception": "Illuminate\\Database\\QueryException",
"file": "/home/arkhalis/Repos/laravel/safetrade/vendor/laravel/framework/src/Illuminate/Database/Connection.php",
"line": 664
然后我试着在终端上运行
Composer
,得到了这个输出

PHP Fatal error:  Uncaught Error: Call to undefined function Symfony\Component\Console\Helper\mb_detect_encoding() in /usr/share/php/Symfony/Component/Console/Helper/Helper.php:50
Stack trace:
#0 /usr/share/php/Symfony/Component/Console/Descriptor/TextDescriptor.php(329): Symfony\Component\Console\Helper\Helper::strlen('h')
#1 /usr/share/php/Symfony/Component/Console/Descriptor/TextDescriptor.php(97): Symfony\Component\Console\Descriptor\TextDescriptor->calculateTotalWidthForOptions(Array)
#2 /usr/share/php/Symfony/Component/Console/Descriptor/TextDescriptor.php(197): Symfony\Component\Console\Descriptor\TextDescriptor->describeInputDefinition(Object(Symfony\Component\Console\Input\InputDefinition), Array)
#3 /usr/share/php/Symfony/Component/Console/Descriptor/Descriptor.php(55): Symfony\Component\Console\Descriptor\TextDescriptor->describeApplication(Object(Composer\Console\Application), Array)
#4 /usr/share/php/Symfony/Component/Console/Helper/DescriptorHelper.php(67): Symfony\Component\Console\Descriptor\Descriptor->describ in /usr/share/php/Symfony/Component/Console/Helper/Helper.php on line 50

Fatal error: Uncaught Error: Call to undefined function Symfony\Component\Console\Helper\mb_detect_encoding() in /usr/share/php/Symfony/Component/Console/Helper/Helper.php:50
Stack trace:
#0 /usr/share/php/Symfony/Component/Console/Descriptor/TextDescriptor.php(329): Symfony\Component\Console\Helper\Helper::strlen('h')
#1 /usr/share/php/Symfony/Component/Console/Descriptor/TextDescriptor.php(97): Symfony\Component\Console\Descriptor\TextDescriptor->calculateTotalWidthForOptions(Array)
#2 /usr/share/php/Symfony/Component/Console/Descriptor/TextDescriptor.php(197): Symfony\Component\Console\Descriptor\TextDescriptor->describeInputDefinition(Object(Symfony\Component\Console\Input\InputDefinition), Array)
#3 /usr/share/php/Symfony/Component/Console/Descriptor/Descriptor.php(55): Symfony\Component\Console\Descriptor\TextDescriptor->describeApplication(Object(Composer\Console\Application), Array)
#4 /usr/share/php/Symfony/Component/Console/Helper/DescriptorHelper.php(67): Symfony\Component\Console\Descriptor\Descriptor->describ in /usr/share/php/Symfony/Component/Console/Helper/Helper.php on line 50

此外,我还尝试运行了
composer update
,得到了与运行
sudo apt get install php mbstring
相同的结果,但与在终端上运行
composer
命令的结果相同。

尝试通过Laravel安装所有必需的扩展。请看一看

如果您使用的是PHP 7.1,则可以尝试运行此命令:

sudo apt安装php7.1 php7.1-fpm php7.1-curl php7.1-mysql php7.1-common php7.1-mbstring php7.1-mcrypt php7.1-xml
或者,如果您使用的是PHP7.2(没有mcrypt,因为它已被删除),则可以运行此命令

sudo apt安装php7.2 php7.2-fpm php7.2-curl php7.2-mysql php7.2-common php7.2-mbstring php7.2-xml
如果遇到错误,可能没有添加任何PHP repo。通过Ondřej Surý尝试添加这个完整的PHP回购

sudo添加apt存储库ppa:ondrej/php
sudoapt更新
更新

由于您使用的是Ubuntu19.10(Eoan),我听说默认情况下,它与PHP7.3一起提供。所以,也许你可以试试:

sudo apt安装php-fpm-php-curl-php-mysql-php-php-common-php-mbstring-php-xml

目前,
ondrej/php
仍然没有发布任何适用于19.10的php包(因为Ubuntu 19.10是最近发布的)。作者发布软件包需要时间。

您是否安装了
php-mysql
插件?它说“找不到驱动程序”我不确定,如何检查它是否已安装?但是我的mysql版本是
8.0.17
run
apt install lamp server^
注意结尾的插入符号。伙计,这应该是一个答案!修复了我的问题,我可以运行
composer
,没有错误,很好:)和ohh。是的,运行
composer
很好,但是
composer update
是sameI在php7.2上尝试过的,这是结果,第二个命令也不能解决问题。添加repo后,您忘记了
sudo apt update
。这是基本的ubuntu命令。好的,我会编辑我的答案。是的,当然我之前有
sudo apt update
,如果你一定要看的话,这里是结果,好的,那么你使用的是Ubuntu 19.10?那么我觉得这个包还没有发布。我将更新我的答案,以反映您的发行版,希望它能工作,因为我还没有使用19.10。@Mr.benben我不知道mysql服务器来自哪里,因为我没有提到安装该软件包。如果你的问题解决了,我很高兴。