背景

背景

背景

Laravel を実行している Ubuntu サーバーがあり、これを mssql を実行している別のサーバーに接続する必要があります。

Linux サーバー:

  • ウブントゥ 20.04
  • php8.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

質問

次のいずれかの方法を実行します。

  • PHPpdo_sqlsrvドライバのインストールを完了する。または
  • 最初から正しく行う

どうもありがとう

答え1

sudoこれは、 ではなくと編集したことによるものですroot

答え2

おそらくこのスクリプトが役に立つでしょう: https://gist.github.com/leidison/e62f7899d54923c32744bb69704524a4

関連情報