Installieren/aktivieren Sie die sqlsrv- und pdo_sqlsrv-Treiber von php8.1 auf Ubuntu20.0
P粉501683874
P粉501683874 2023-11-01 11:06:13
0
2
913

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:

  • https://learn.microsoft.com/en-us/sql/connect/php/installation-tutorial-linux-mac?view=sql-server-ver16
  • Versuchen Sie, die Erweiterung (extension=pdo_sqlsrv.so, extension=sqlsrv.so)
  • in /etc/php/8.1/apache2/php.ini hinzuzufügen

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:

  • Ich habe PHP 7.4 und 8.1 auf meinem Computer installiert.
  • sqlsrv-Treiber ist für die PHP7.4-Version geeignet
  • Beim Versuch, PHP8.1 zu installieren/aktivieren, funktioniert es überhaupt nicht.

Was fehlt mir hier?

P粉501683874
P粉501683874

Antworte allen(2)
P粉823268006

我可以通过添加以下命令来解决此问题。

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粉193307465

你可以试试这个:

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

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage