Фон

Фон

Фон

У меня есть сервер 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

Связанный контент