Hintergrund
Ich habe einen Ubuntu-Server, auf dem Laravel läuft, der eine Verbindung zu einem anderen Server von uns herstellen muss, auf dem MSSQL läuft.
Linux-Server:
- Ubuntu 20.04
- php 8.1
Ich habe eine Laravel-Testabfrage erstellt, um den Prozess zu debuggen. Wie erwartet gab es eine could not find driver
Ausnahme.
Als nächstes habe ich versucht, den Anweisungen von Microsoft zu folgen. Diese finden Sie unter:
Bisherige Schritte
sudo pecl install sqlsrv
sudo pecl install pdo_sqlsrv
Ich habe den nächsten Befehl schnell auf Plausibilität geprüft: ( printf "; priority=20\nextension=sqlsrv.so\n" > /etc/php/8.1/mods-available/sqlsrv.ini
). Allerdings gab es ein Problem. Die sqlsrv.ini
Datei existierte nicht.
Um es klar zu sagen: /etc/php/8.1/mods-available/sqlsrv.ini
existiert nicht.
(.. und wird daher sudo phpenmod -v 8.1 sqlsrv pdo_sqlsrv
offensichtlich nicht funktionieren)
Ich habe es sudo pecl install pdo_sqlsrv
noch einmal überprüft, um sicherzustellen, dass ich nichts übersehen hatte. Da kam folgende Fehlermeldung:
pecl/pdo_sqlsrv is already installed and is the same as the released version 5.10.1 install failed
Frage
Wie kann ich entweder:
- meine PHP-
pdo_sqlsrv
Treiberinstallation abschließen; ODER - Machen Sie es von Grund auf richtig
Vielen Dank
Antwort1
Dies kam daher, dass ich als bearbeitet habe sudo
, anstatt als root
.
Antwort2
Vielleicht hilft dir dieses Skript: https://gist.github.com/leidison/e62f7899d54923c32744bb69704524a4