你好,我想从 sqlite 迁移到 mysql,我安装了 WAMP 服务器,配置它并且工作正常,但是......
[PDOException]
could not find driver
我想看到这个错误
php artisan migrate
选择 PHP:5.6.25,但在 7.0.10 上也不起作用
我的 php.ini 来自 wamp
;extension=php_pdo_firebird.dll
extension=php_pdo_mysql.dll
;extension=php_pdo_oci.dll
;extension=php_pdo_odbc.dll
extension=php_pdo_pgsql.dll
extension=pgsql.so
extension=php_pdo_sqlite.dll
;extension=php_pgsql.dll
我的数据库.php
'default' => env('DB_CONNECTION', 'mysql'),
'connections' => [
'sqlite' => [
'driver' => 'sqlite',
'database' => database_path('database.sqlite'),
'prefix' => '',
],
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'mwebsite'),
'username' => env('DB_USERNAME', 'root'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'strict' => true,
'engine' => null,
],
和我的.env
DB_HOST=127.0.0.1
DB_DATABASE=mwebsite
DB_USERNAME=root
DB_PASSWORD=
//php信息 配置命令
cscript /nologo configure.js "--enable-snapshot-build" "--enable-debug-pack" "--with-pdo-oci=c:\php-sdk\oracle\x64\instantclient_12_1\sdk,shared" "--with-oci8-12c=c:\php-sdk\oracle\x64\instantclient_12_1\sdk,shared" "--enable-object-out-dir=../obj/" "--enable-com-dotnet=shared" "--with-mcrypt=static" "--without-analyzer" "--with-pgo"
PDO
PDO support enabled
PDO drivers mysql, pgsql, sqlite
最佳答案
这与 Wamp 与 Xampp 无关。
使用 laravel 5 的示例:
php artisan migrate:install
给出:
PDOException: could not find driver
由于Wamp有多个php环境,所以一定要保证php路径正确(包括切换php版本时的composer php路径)。
apache 和 php cli 版本使用的 php 版本可能不同,这取决于您的 %PATH% 变量。
可能您的 php 可执行文件路径不正确。 使用cmd,试试
set | findstr php
您将看到实际的 php 二进制文件加载到哪里。 相应地更改您的路径变量(使用系统设置、用户配置文件、环境变量)并启动一个新的 cmd 实例。对
然后您可以检查 pdo_mysql 扩展是否已加载到当前的 php cli 版本中
php -i | findstr mysql
一旦一切都解决了,不要忘记更新 composer php 路径(只需重新安装)。
关于php - PDOException 找不到驱动程序 Laravel 5.4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42423732/