搜尋
問答 在 ubuntu20.0 上安裝/啟用 php8.1 的 sqlsrv 和 pdo_sqlsrv 驅動程式

0

我正在嘗試在 Ubuntu 20.0 上啟用 php8.1 的 sqlsrv 驅動程式。它沒有在 phpinfo() 中顯示擴展名。

當嘗試使用指令 php -m 檢查 sqlsrv 模組時,輸出如下:

我遵循了以下官方文件:

  • https://learn.microsoft.com/en-us/sql/connect/php/installation-tutorial-linux-mac?view=sql-server-ver16
  • 嘗試在 /etc/php/8.1/apache2/php.ini 中新增副檔名(extension=pdo_sqlsrv.so, extension=sqlsrv.so)

我不確定出了什麼問題,任何建議都會受到讚賞。

The output of phpinfo() for php7.4:
The output of phpinfo() for php8.1:

事情是這樣的:

  • 我的電腦上安裝了 PHP 7.4 和 8.1。
  • sqlsrv 驅動程式適用於 php7.4 版本
  • 嘗試安裝/啟用 php8.1 時,它根本不起作用。

我在這裡缺少什麼?

Your Answer
提交

2 個答案
0

我可以透過新增以下命令來解決此問題。

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

之後需要重新啟動apache2

2023-11-02 00:55:33

提交

0

你可以試試這個:

1. switch to php8.1
2. sudo pecl uninstall -r sqlsrv 
3. sudo pecl uninstall -r pdo_sqlsrv 
4. sudo pecl -d php_suffix=7.2 install sqlsrv
5. sudo pecl -d php_suffix=7.2 install pdo_sqlsrv
6. sudo service apache2 restart

請注意,-r, --register-only 不會刪除文件,而只會將軟體包註冊為未安裝。

查看此資源以獲取更多資訊。 https://github.com/microsoft/msphpsql/issues/1145#issuecomment- 649682231

2023-11-02 00:34:32

提交

Hot Tools

vc9-vc14(32+64位元)運行庫合集(連結在下方)

vc9-vc14(32+64位元)運行庫合集(連結在下方)

phpStudy安裝所需運行函式庫集合下載

VC9 32位

VC9 32位

VC9 32位元 phpstudy整合安裝環境運行庫

php程式設計師工具箱完整版

php程式設計師工具箱完整版

程式設計師工具箱 v1.0 php整合環境

VC11 32位

VC11 32位

VC11 32位元 phpstudy整合安裝環境運行庫

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用