web-dev-qa-db-ja.com

Laravel:PDOException:ドライバーが見つかりませんでした

MySQLとFTPにのみアクセスできるサーバーでWebサイトを開発しているため、実行するすべてのコマンドはb374k php Shellを使用します。 SQLドライバーでLaravel問題が発生しています。ファイルホストのSQLite(database/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

何が問題であり、どのように修正できますか? (ルートbashにアクセスできません)

24
artus90

可能であれば、実行します:

composer update

composer require doctrine/dbal

依存関係が欠落しているようです

編集:

Php.iniファイルで以下をコメントアウトする必要がある場合があります。

;extension=pdo_mysql.so

この投稿から引用: Laravel 5 PDOExceptionはドライバーを見つけることができませんでした Digital Oceanでlaravelをセットアップするとき、私はまさにこのようなことをしなければならなかったと思います。

37
Nibb

データベースドライバーが見つかりません。問題を解決するには

最初にドライバーをインストールします

Ubuntuの場合:mysqlデータベースの場合。

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

他のデータベースシステムを検索することもできます。

ドライバーを検索することもできます:

Sudo apt-cache search drivername

次に、cmd php artisan migrateを実行します

33
abhishek subedi

テストスイートの実行時に同じエラーが発生しました。以前は動作していましたが、phpをアップグレードすると動作しなくなりました。だから私はやった

Sudo apt-get install php-sqlite3

そしてそれは働いた。

18
Mubashar Abbas

Ubuntu(18.04)でさらにシンプルに

apt install php-mysql

できた.iniファイルを編集する必要はありません。

ハッピーコーディング!

7
Stan Smulders

最初の確認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
5
Nadim Tareq

最後にこれを修正しました。サーバー構成にタイプミスがあり、php extecutablesへのパスはすべて、エラーの原因となったphp-cliへのパスを除いて問題ありませんでした。パスを修正すると、すべてが正常に機能しました。

1
artus90

CentOS7では、yum install php-mysqlを試してから、php.iniを編集します

1
Donne

ウィンドウOS。 php.exeと同じディレクトリにあるphp.iniファイルのextension = pdo_mysqlのコメントを外します。その後は正常に動作します。

0
chokelive

私は同じ問題を抱えていたので、extension=pdo_sqliteのコメントを外し、migrationを実行しましたが、すべて正常に機能しました。

0
Chetam Okafor

おそらく、sqliteまたは移行しようとしている特定のDBドライバーが欠落しています。

DBドライバーをインストールすれば大丈夫です。 php.iniファイルを編集する必要は必ずしもありません(ただし、修正する方法の1つです)。

Sqliteの場合-> Sudo apt-get install php-sqlite3その後php artisan migrate

注意:PHPとMySqlが既にインストールされていると思います

0
Prodigy