Laravel:PDOException: 找不到驱动

我正在一个服务器上开发一个网站, 我只能访问MySQL和FTP, 所以我运行的所有命令都是通过b374k php shell.我遇到了一个Laravel关于SQL驱动的问题.我试着切换到文件托管的SQLite(在数据库/database.sqlite), 但抛出的异常和使用MySQL时一样.输入&控制台的输出如下:

   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

问题出在哪里,我该如何解决?(我没有访问root bash的权限)

解决办法

如果可以,请运行:

composer update

composer require doctrine/dbal

看起来你有一个缺失的依赖性

编辑:

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

;extension=pdo_mysql.so

摘自本帖: https://stackoverflow.com/questions/35240414/laravel-5-pdoexception-could-not-find-driver . 我想我在digital ocean上设置laravel的时候,也是这样做的。

评论(4)

你的数据库驱动程序丢失。为了解决这个问题

首先安装驱动程序

对于ubuntu:对于mysql数据库。

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

你也可以搜索其他数据库系统。

你也可以搜索驱动程序:

sudo apt-cache search drivername

然后运行cmd php artisan migrate

评论(1)

我终于解决了这个问题。在服务器配置中出现了一个错误,除了php-cli的路径,所有php可执行文件的路径都很好,这导致了错误。当我修复了这个路径后,一切都正常了。

评论(0)