PDOException::("could not find driver") Laravel & sql 服务器
PDOException::("could not find driver") Laravel & sql server
我正在尝试将 Laravel 连接到多个 sql 服务器数据库,我在 database.php 文件中正确定义了连接:
'connections' => [
'sqlsrv' => [
'driver' => 'sqlsrv',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '16000'),
'database' => env('DB_DATABASE', 'dbname'),
'username' => env('DB_USERNAME', 'me'),
'password' => env('DB_PASSWORD', 'me'),
'charset' => 'utf8',
'prefix' => '',
'prefix_indexes' => true,
],
'sqlsrv2' => [
'driver' => 'sqlsrv',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '16000'),
'database' => env('DB_DATABASE_2', 'dbname2'),
'username' => env('DB_USERNAME', 'me'),
'password' => env('DB_PASSWORD', 'me'),
'charset' => 'utf8',
'prefix' => '',
'prefix_indexes' => true,
],
],
并设置我的 .env 文件
DB_CONNECTION=sqlsrv
DB_HOST=127.0.0.1
DB_PORT=16000
DB_DATABASE=dbname
DB_USERNAME=me
DB_PASSWORD=me
我尝试验证从另一个应用程序到我的 sql 服务器数据库的连接,它运行良好。然后我在我的 laravel 应用程序上创建了一个模型,一旦我输入 php artisan migrate 我得到这个错误:
有人可以帮助解决这个问题吗?
更新!
将 pdo sqlsrv 扩展添加到我的 ext 文件夹和我的 php.ini 后,我收到此错误:
[![在此处输入图片描述][2]][2]
[![在此处输入图片描述][3]][3]
更新 3:
安装 odbc 13 后我遇到了这个问题
啊,WAMPServer 有 2 个独立的 php.ini
文件。
一个在 Apache 下被 PHP 使用,另一个被 PHP CLI 使用。
我看到您正在使用 CLI,因此您需要检查是否在 CLI php.ini
文件中包含 SQL 服务器驱动程序扩展。
您会发现:
C:\wamp64\bin\php\php{version}\php.ini
你必须手动编辑这个,没有菜单link可以做到这一点,菜单link编辑php.ini
只能编辑Apache下的PHP php.ini
的版本
Make sure you edit the php.ini
file in the folder that matches the version of PHP you are actually using for this project, as of course you can have multiple versions of PHP installed under WAMPServer
更新:第二个问题
您已将 32 位和 64 位 SQL 服务器驱动程序添加到您的 ext 文件夹!
您的 WAMPServer 菜单显示
1. php_sqlsrv_72_ts_x64
2. php_sqlsrv_72_ts_x32
3. php_pdo_sqlsrv_72_ts_x64
4. php__pdo_sqlsrv_72_ts_x32
as you are using 64 bit wamp, you should only have these 2
1. php_sqlsrv_72_ts_x64
2. php_pdo_sqlsrv_72_ts_x64
我正在尝试将 Laravel 连接到多个 sql 服务器数据库,我在 database.php 文件中正确定义了连接:
'connections' => [
'sqlsrv' => [
'driver' => 'sqlsrv',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '16000'),
'database' => env('DB_DATABASE', 'dbname'),
'username' => env('DB_USERNAME', 'me'),
'password' => env('DB_PASSWORD', 'me'),
'charset' => 'utf8',
'prefix' => '',
'prefix_indexes' => true,
],
'sqlsrv2' => [
'driver' => 'sqlsrv',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '16000'),
'database' => env('DB_DATABASE_2', 'dbname2'),
'username' => env('DB_USERNAME', 'me'),
'password' => env('DB_PASSWORD', 'me'),
'charset' => 'utf8',
'prefix' => '',
'prefix_indexes' => true,
],
],
并设置我的 .env 文件
DB_CONNECTION=sqlsrv
DB_HOST=127.0.0.1
DB_PORT=16000
DB_DATABASE=dbname
DB_USERNAME=me
DB_PASSWORD=me
我尝试验证从另一个应用程序到我的 sql 服务器数据库的连接,它运行良好。然后我在我的 laravel 应用程序上创建了一个模型,一旦我输入 php artisan migrate 我得到这个错误:
有人可以帮助解决这个问题吗?
更新!
将 pdo sqlsrv 扩展添加到我的 ext 文件夹和我的 php.ini 后,我收到此错误: [![在此处输入图片描述][2]][2]
[![在此处输入图片描述][3]][3]
更新 3:
安装 odbc 13 后我遇到了这个问题
啊,WAMPServer 有 2 个独立的 php.ini
文件。
一个在 Apache 下被 PHP 使用,另一个被 PHP CLI 使用。
我看到您正在使用 CLI,因此您需要检查是否在 CLI php.ini
文件中包含 SQL 服务器驱动程序扩展。
您会发现:
C:\wamp64\bin\php\php{version}\php.ini
你必须手动编辑这个,没有菜单link可以做到这一点,菜单link编辑php.ini
只能编辑Apache下的PHP php.ini
Make sure you edit the
php.ini
file in the folder that matches the version of PHP you are actually using for this project, as of course you can have multiple versions of PHP installed under WAMPServer
更新:第二个问题
您已将 32 位和 64 位 SQL 服务器驱动程序添加到您的 ext 文件夹!
您的 WAMPServer 菜单显示
1. php_sqlsrv_72_ts_x64
2. php_sqlsrv_72_ts_x32
3. php_pdo_sqlsrv_72_ts_x64
4. php__pdo_sqlsrv_72_ts_x32
as you are using 64 bit wamp, you should only have these 2
1. php_sqlsrv_72_ts_x64
2. php_pdo_sqlsrv_72_ts_x64