Фон
У меня есть сервер Ubuntu, на котором работает Laravel, и ему нужно подключиться к другому нашему серверу, на котором работает MSSQL.
Linux-сервер:
- Убунту 20.04
- PHP 8.1
Я создал тестовый запрос laravel, чтобы помочь мне отладить процесс. Как и ожидалось, он выдал could not find driver
исключение, как и ожидалось.
Далее я попытался следовать инструкциям Microsoft. Они находятся по адресу:
Предпринятые на данный момент шаги
sudo pecl install sqlsrv
sudo pecl install pdo_sqlsrv
Я быстро проверил здравый смысл следующей команды: ( printf "; priority=20\nextension=sqlsrv.so\n" > /etc/php/8.1/mods-available/sqlsrv.ini
). Однако это вызвало проблему. sqlsrv.ini
Файл не существовал.
Для ясности: /etc/php/8.1/mods-available/sqlsrv.ini
не существует.
(.. и поэтому, sudo phpenmod -v 8.1 sqlsrv pdo_sqlsrv
очевидно, не будет работать)
Я побежал sudo pecl install pdo_sqlsrv
перепроверить, ничего ли я не упустил, и он выдал ошибку:
pecl/pdo_sqlsrv is already installed and is the same as the released version 5.10.1 install failed
Вопрос
Как мне сделать:
- завершить установку моего
pdo_sqlsrv
драйвера PHP; ИЛИ - сделать это правильно с нуля
Большое спасибо
решение1
Это получилось из-за того, что я редактировал как sudo
, а не как root
.
решение2
Возможно, этот скрипт вам поможет: https://gist.github.com/leidison/e62f7899d54923c32744bb69704524a4