pdo_sqlsrv
Debian 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
私も試しましたこのチュートリアルmsodbcsql17
Microsoft で「パッケージが見つかりません」というメッセージが表示されます。
インストールする方法がわかりません。どうすれば解決できますか?
答え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