PHP 8.3を使用してdebian 12にPDO sqlsrvをインストールすると、インストールが失敗します。

PHP 8.3を使用してdebian 12にPDO sqlsrvをインストールすると、インストールが失敗します。

pdo_sqlsrvDebian 12サーバーにPHP 8.3をインストールしたいです。利用可能な文書に従っています。ここ

最新バージョンは完璧に見えます(5.12.0)しかしインストールできません。医師の指示に従ってください:

apt-get install curl apt-transport-https
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list
apt-get update
apt-get install -y php8.3 php8.3-dev php8.3-xml php8.3-intl unixodbc-dev unixodbc odbcinst

私はこれをやっています:

sudo pecl install sqlsrv
sudo pecl install pdo_sqlsrv

そして常にこのエラーが発生します。

PHP Warning:  PHP Startup: Unable to load dynamic library 'sqlsrv.so' (tried: /usr/lib/php/20230831/sqlsrv.so (/usr/lib/php/20230831/sqlsrv.so: cannot open shared object file: No such file or directory), /usr/lib/php/20230831/sqlsrv.so.so (/usr/lib/php/20230831/sqlsrv.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
No releases available for package "pecl.php.net/sqlsrv"
install failed
PHP Warning:  PHP Startup: Unable to load dynamic library 'sqlsrv.so' (tried: /usr/lib/php/20230831/sqlsrv.so (/usr/lib/php/20230831/sqlsrv.so: cannot open shared object file: No such file or directory), /usr/lib/php/20230831/sqlsrv.so.so (/usr/lib/php/20230831/sqlsrv.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
No releases available for package "pecl.php.net/pdo_sqlsrv"
install failed

私も試しましたこのチュートリアルmsodbcsql17Microsoft で「パッケージが見つかりません」というメッセージが表示されます。

インストールする方法がわかりません。どうすれば解決できますか?

答え1

理由を見つけました。インストールされたphp7.4と競合があります。

以前のPHPバージョンをアンインストールした後、次のコマンドを使用します。

apt remove php7*
apt purge php7*

問題なく次のコマンドをすべて実行しました。

sudo pecl install sqlsrv
sudo pecl install pdo_sqlsrv
printf "; priority=20\nextension=sqlsrv.so\n" > /etc/php/8.3/mods-available/sqlsrv.ini
printf "; priority=30\nextension=pdo_sqlsrv.so\n" > /etc/php/8.3/mods-available/pdo_sqlsrv.ini
sudo phpenmod -v 8.3 sqlsrv pdo_sqlsrv
sudo service apache2 restart

関連情報