PDOException: :( "не удалось найти драйвер") Laravel & sql server - PullRequest
0 голосов
/ 19 декабря 2018

Я пытаюсь подключить Laravel к нескольким базам данных sqlserver, я правильно определил соединения в моем файле 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 server из другого приложения, и оно работает отлично.затем я создал модель в своем приложении laravel и после ввода php artisan migrate я получаю эту ошибку: enter image description here

кто-нибудь может помочь решить эту проблему?

ОБНОВЛЕНИЕ!

После добавления расширений pdo sqlsrv в мою папку ext и мой php.ini я получаю эту ошибку: [! [Введите описание изображения здесь] [2]] [2]

[![введите описание изображения здесь] [3]] [3]

ОБНОВЛЕНИЕ 3:

После установки odbc 13 у меня возникла эта проблема enter image description here

1 Ответ

0 голосов
/ 19 декабря 2018

Ах, у WAMPServer есть 2 отдельных php.ini файла.

Один используется PHP под Apache, а другой - PHP CLI.

Я вижу, что вы используете CLI, поэтому вам нужно убедиться, что вы включили расширение драйверов SQL Server вфайл CLI php.ini.

Вы найдете, что в:

C:\wamp64\bin\php\php{version}\php.ini

Вы должны редактировать это вручную, нет ссылки на меню, чтобы сделать это, ссылка на меню для редактированияphp.ini редактирует только PHP под Apache версии php.ini

Убедитесь, что вы редактируете файл php.ini в папке, которая соответствует версии PHP, которую вы фактически используете для этого проекта, так какКонечно, вы можете установить несколько версий PHP под WAMPServer

ОБНОВЛЕНИЕ: Вторая проблема

Вы добавили 32-битные и 64-битные драйверы SQL Server в вашу папку 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

, так как вы используете 64-битный Wamp, вы должны иметь только эти 2

1. php_sqlsrv_72_ts_x64 
2. php_pdo_sqlsrv_72_ts_x64 
...