【问题标题】:PDOException could not find driver Laravel 5.4PDOException 找不到驱动程序 Laravel 5.4
【发布时间】:2017-02-23 18:43:06
【问题描述】:

您好,我想从 sqlite 迁移到 mysql,我安装了 WAMP 服务器,配置它并且工作正常,但是...

 [PDOException]
  could not find driver

我想看到这个错误

php artisan migrate

选择 PHP:5.6.25,但在 7.0.10 上也不起作用

我来自 wamp 的 php.ini

;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

【问题讨论】:

  • pdo_mysql 是否列在phpinfo() 中?

标签: php mysql laravel wamp


【解决方案1】:

这与 Wamp 与 Xampp 无关。

使用 laravel 5 的示例:

php artisan migrate:install

给予:

PDOException: 找不到驱动程序

由于Wamp有多个php环境,所以必须确保php路径正确(包括切换php版本时的composer php路径)。

apache 使用的 php 版本和 php cli 版本可能不同,具体取决于您的 %PATH% 变量。

可能你的 php 可执行文件路径不对。 使用cmd,试试

set | findstr php

您将看到实际 php 二进制文件的加载位置。 相应地更改您的路径变量(使用系统设置、用户配置文件、环境变量)并启动一个新的 cmd 实例。是的

然后您可以检查 pdo_mysql 扩展是否已加载到当前 cli 版本的 php 中使用

php -i | findstr mysql

一切整理好后,别忘了更新composer php路径(重新安装即可)。

【讨论】:

    猜你喜欢
    • 2016-05-16
    • 2017-05-29
    • 1970-01-01
    • 2017-02-20
    • 2015-04-08
    • 2016-09-03
    相关资源
    最近更新 更多