php - PDOException 找不到驱动程序 Laravel 5.4

标签 php mysql laravel wamp

你好,我想从 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/

相关文章:

php - 在mysql查询中获取匹配的列值

php - XML 文件到 PHP 数组(带属性)

php - 在本地和实时之间同步数据库,php mysql

php - 检查今天的日期是否超过到期日期

php - 在php中以表单形式显示记录

php - SQL 未返回所需的结果

laravel - 将 CSRF token 添加到 Laravel 表单时出错

mysql - 复合索引在MySQL中有方向吗?

angularjs - BeanStalk 服务器中不显示图像

php - 从 3 个表中获取数据并将其显示为 laravel 中的单个元素的正确查询?