Heim > Fragen und Antworten > Hauptteil
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?
P粉8232680062023-11-02 00:55:33
我可以通过添加以下命令来解决此问题。
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
P粉1933074652023-11-02 00:34:32
你可以试试这个:
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