Ich versuche, den sqlsrv-Treiber für PHP8.1 unter Ubuntu 20.0 zu aktivieren. Die Erweiterung wird in phpinfo()
nicht angezeigt.
Beim Versuch, das sqlsrv-Modul mit dem Befehl php -m
zu überprüfen, sieht die Ausgabe wie folgt aus:
Ich habe die offizielle Dokumentation unten befolgt:
extension=pdo_sqlsrv.so
, extension=sqlsrv.so
)Ich bin mir nicht sicher, was falsch l?uft, ich w?re für Vorschl?ge dankbar.
The output of phpinfo() for php7.4:
The output of phpinfo() for php8.1:
Hier ist die Sache:
Was fehlt mir hier?
我可以通過(guò)添加以下命令來(lái)解決此問(wèn)題。
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
之后需要重新啟動(dòng)apache2
你可以試試這個(gè):
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
請(qǐng)注意,-r, --register-only
不會(huì)刪除文件,而只會(huì)將軟件包注冊(cè)為未安裝。
查看此資源以獲取更多信息。 https://github.com/microsoft/msphpsql/issues/1145#issuecomment- 649682231