前提・実現したいこと
PHP(Laravel)の学習で、掲示板アプリを作っています。
Laravelを使用していて、php artisan migrateをしようとしていますが、PDOException::("could not find driver")というエラーメッセージが出てしまい、先に進めません。
発生している問題・エラーメッセージ
Illuminate\Database\QueryException : could not find driver (SQL: select * from information_schema.tables where table_schema = prc_miniblog and table_name = migrations and table_type = 'BASE TABLE')
Exception trace:
1 PDOException::("could not find driver")
C:\MAMP\htdocs\laraveltest\vendor\laravel\framework\src\Illuminate\Database\Connectors\Connector.php:70
該当のソースコード
env
1DB_CONNECTION=mysql 2DB_HOST=localhost 3DB_PORT=3306 4DB_DATABASE=prc_miniblog 5DB_USERNAME=root 6DB_PASSWORD=root 7DB_SOCKET=""
database
1'connections' => [ 2 'mysql' => [ 3 'driver' => 'mysql', 4 'host' => env('DB_HOST', 'localhost'), 5 'port' => env('DB_PORT', '3306'), 6 'database' => env('DB_DATABASE', 'prc_miniblog'), 7 'username' => env('DB_USERNAME', 'root'), 8 'password' => env('DB_PASSWORD', 'root'), 9 'unix_socket' => env('DB_SOCKET', ''), 10 'charset' => 'utf8', 11 'collation' => 'utf8_unicode_ci', 12 'prefix' => '', 13 'prefix_indexes' => true, 14 'strict' => true, 15 'engine' => null, 16 'options' => extension_loaded('pdo_mysql') ? array_filter([ 17 PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'), 18 ]) : [], 19 ], 20 ],
試したこと
■ php.iniファイルで、以下のコードがコメントアウトされていないか確認。
extension_dir = "C:\MAMP\bin\php\php7.2.14\ext"
extension=php_mysqli.dll
extension=php_pdo_mysql.dll
■ extension_dirで指定されたディレクトリに、以下のファイルがあることを確認。
php_mysqli.dll
php_pdo_mysql.dll
■ phpInfoで以下の情報を確認
PDO Support で PDO driversがmysqlになっている。
PDO Driver for MySQLのClient API versionで、mysqlnd 5.0.12-dev - 20150407 が表示されている。
いろんなサイトを見て試しましたが、どうしても解決できません。
よろしくお願いいたします。
補足情報(FW/ツールのバージョンなど)
windows 10
MAMP 4.1.1.18195
PHP 7.2.14
MySQL 5.7.24
Laravel Framework 6.17.0
追記: 自己解決
コマンドプロンプトで、php --ini で読み込んでいるphp.iniファイルを確認すると
Loaded Configuration File: C:\MAMP\bin\php\php7.2.14\php.ini
しかし、MAMPからphpInfo()で確認をすると
Loaded Configuration File C:\MAMP\conf\php7.2.14\php.ini
となり、読み込まれているphp.iniファイルが違うということが判明。
どうして、そうなるのかは分かっていないのですがコマンドプロンプトで表示されているphp.iniを置き換えてやることで問題解決しました。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。