2017-03-02 134 views
0

我正在服務器上開發一個網站,我只能訪問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

回答

3

如果可以的話,運行:

composer update 

composer require doctrine/dbal 

它看起來像你有一個丟失的依賴

編輯:

您可能需要在你的php.ini文件中註釋掉以下內容。

;extension=pdo_mysql.so 

從這篇文章摘自: Laravel 5 PDOException Could Not Find Driver 。當我在數字海洋上設置laravel時,我想我必須像這樣做。

+0

沒有幫助,dbal已經安裝,仍然是相同的錯誤 – artus90

0

最後我解決了這個問題。服務器配置中存在拼寫錯誤,除php-cli路徑導致錯誤外,所有到php可執行文件的路徑都很好。當我修好路徑時,一切正常。

4

您的數據庫驅動程序丟失。爲了解決萬阿英,蔣達清

首先安裝驅動程序

對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

0

首先檢查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