Laravel:PDOException:找不到驱动程序

问题描述:

我正在服务器上开发一个网站,我只能访问MySQL和FTP,所以我运行的所有命令都是通过b374k php shell。我遇到了SQL驱动程序的Laravel问题。我尝试切换到文件托管的SQLite(在database/database.sqlite中),但抛出的异常与使用MySQL时相同。控制台的输入输出&为:Laravel:PDOException:找不到驱动程序

php artisan migrate:refresh --seed 
    [Illuminate\Database\QueryException] 
could not find driver (SQL: select * from sqlite_master where type = 'table ' and name = migrations) 
[Doctrine\DBAL\Driver\PDOException] 
could not find driver 
[PDOException] 
could not find driver 

服务器上安装的Apache的扩展名是:

/etc/php/5.6/apache2/conf.d/10-mysqlnd.ini, 
/etc/php/5.6/apache2/conf.d/10-opcache.ini, 
/etc/php/5.6/apache2/conf.d/10-pdo.ini, 
/etc/php/5.6/apache2/conf.d/15-xml.ini, 
/etc/php/5.6/apache2/conf.d/20-calendar.ini, 
/etc/php/5.6/apache2/conf.d/20-ctype.ini, 
/etc/php/5.6/apache2/conf.d/20-curl.ini, 
/etc/php/5.6/apache2/conf.d/20-dom.ini, 
/etc/php/5.6/apache2/conf.d/20-exif.ini, 
/etc/php/5.6/apache2/conf.d/20-fileinfo.ini, 
/etc/php/5.6/apache2/conf.d/20-ftp.ini, /etc/php/5.6/apache2/conf.d/20-gd.ini, 
/etc/php/5.6/apache2/conf.d/20-gettext.ini, 
/etc/php/5.6/apache2/conf.d/20-iconv.ini, 
/etc/php/5.6/apache2/conf.d/20-json.ini, 
/etc/php/5.6/apache2/conf.d/20-mbstring.ini, 
/etc/php/5.6/apache2/conf.d/20-mcrypt.ini, 
/etc/php/5.6/apache2/conf.d/20-mysql.ini, 
/etc/php/5.6/apache2/conf.d/20-mysqli.ini, 
/etc/php/5.6/apache2/conf.d/20-pdo_mysql.ini, 
/etc/php/5.6/apache2/conf.d/20-phar.ini, 
/etc/php/5.6/apache2/conf.d/20-posix.ini, 
/etc/php/5.6/apache2/conf.d/20-readline.ini, 
/etc/php/5.6/apache2/conf.d/20-shmop.ini, 
/etc/php/5.6/apache2/conf.d/20-simplexml.ini, 
/etc/php/5.6/apache2/conf.d/20-sockets.ini, 
/etc/php/5.6/apache2/conf.d/20-sysvmsg.ini, 
/etc/php/5.6/apache2/conf.d/20-sysvsem.ini, 
/etc/php/5.6/apache2/conf.d/20-sysvshm.ini, 
/etc/php/5.6/apache2/conf.d/20-tokenizer.ini, 
/etc/php/5.6/apache2/conf.d/20-wddx.ini, 
/etc/php/5.6/apache2/conf.d/20-xmlreader.ini, 
/etc/php/5.6/apache2/conf.d/20-xmlwriter.ini, 
/etc/php/5.6/apache2/conf.d/20-xsl.ini, 
/etc/php/5.6/apache2/conf.d/20-zip.ini 

可以采取什么问题,如何解决呢? (我没有访问根bash)的

+0

可能的复制[Laravel 5 PDOException找不到驱动程序(HTTP://计算器。com/questions/35240414/laravel-5-pdoexception-could-not-find-driver) – tomsihap

如果可以的话,运行:

composer update 

composer require doctrine/dbal 

它看起来像你有一个丢失的依赖

编辑:

您可能需要在你的php.ini文件中注释掉以下内容。

;extension=pdo_mysql.so 

从这篇文章摘自: Laravel 5 PDOException Could Not Find Driver 。当我在数字海洋上设置laravel时,我想我必须像这样做。

+0

没有帮助,dbal已经安装,仍然是相同的错误 – artus90

最后我解决了这个问题。服务器配置中存在拼写错误,除php-cli路径导致错误外,所有到php可执行文件的路径都很好。当我修好路径时,一切正常。

您的数据库驱动程序丢失。为了解决万阿英,蒋达清

首先安装驱动程序

对Ubuntu:对于MySQL数据库。

sudo apt-get install php5.6-mysql/php7.2-mysql 

您还可以搜索其他数据库系统。

您还可以搜索驱动程序:

sudo apt-cache search drivername 

然后运行cmd中php artisan migrate

+0

这对我有效。这是Laravel 5.3。 – Vagabond

首先检查php -m
。如果你没有看到MySQL驱动程序安装mysql sudo apt-cache search php-mysql
你结果将类似于:

php-mysql - MySQL module for PHP [default] 


安装PHP的MySQL驱动的

sudo apt-get install php7.1-mysql