web-dev-qa-db-ja.com

Laravel 5 PDOExceptionはドライバーを見つけることができませんでした

Laravel 5.を使用すると問題が発生します。「php aritsan migrate」を実行すると、このエラーが発生しました。

**************************************
*     Application In Production!     *
**************************************

Do you really wish to run this command? [y/N] y

[PDOException]
could not find driver

アプリケーションを実行できましたが、データベース接続が必要なときにこのエラーが発生しました

PDOException in Connector.php line 55:
could not find driver
in Connector.php line 55
at PDO->__construct('mysql:Host=localhost;dbname=mydb', 'root', '', array('0', '2', '0', false, false)) in Connector.php line 55
at Connector->createConnection('mysql:Host=localhost;dbname=mydb', array('driver' => 'mysql', 'Host' => 'localhost', 'database' => 'mydb', 'username' => 'root', 'password' => '', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', 'strict' => false, 'name' => 'mysql'), array('0', '2', '0', false, false)) in MySqlConnector.php line 22

修正方法は?

20
ZZZ

サーバーにPDOをインストールする必要があります。 php.iniを編集します(phpinfo()、「Loaded Configuration File」行を見て、php.iniファイルのパスを見つけます)。次の行を見つけてコメント解除します(;文字を削除します):

;extension=pdo_mysql.so

次に、Apacheサーバーを再起動します。詳細については、 ドキュメントを読む をご覧ください。

38
tomsihap

ディストリビューションをアップグレードした後も同じことが起こります。

Sudo apt-get install php7.0-mysqlを実行すると修正されました。

63
knalj

Ubuntu 16.04とPHP 5.6.20を使用しています

あまりにも多くの問題の後、以下の手順でこれを解決しました。

  1. phpinfo()経由でphp.iniパスを見つける

  2. コメント解除

    extension=php_pdo_mysql.dll
    
  3. この行を追加

    extension=pdo_mysql.so
    
  4. その後、実行します

    Sudo apt-get install php-mysql
    
21
Anil Gupta

Ubuntuで次のコマンドを試してみました。Sudo apt-get install php7.0-mysql

ありがとう

7
Abdul Rehman

それはあなたのphpバージョンに依存します。動作確認:

php -version

現在のバージョンに応じて、次を実行します。

Sudo apt-get install php7.2-mysql
6
edwinchp

データベースがpostgresで、php7.2がある場合

Sudo apt-get install php7.2-pgsqlおよびphp artisan migrate

1
Stivenson Mb