背景
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
質問
次のいずれかの方法を実行します。
- PHP
pdo_sqlsrv
ドライバのインストールを完了する。または - 最初から正しく行う
どうもありがとう
答え1
sudo
これは、 ではなくと編集したことによるものですroot
。
答え2
おそらくこのスクリプトが役に立つでしょう: https://gist.github.com/leidison/e62f7899d54923c32744bb69704524a4