web-dev-qa-db-fra.com

sqlsrv ne fonctionne pas malgré une installation correcte

J'ai installé (encore) le sqlsrv en utilisant pecl pour Ubuntu 18 mais pour une raison quelconque, le pilote n’a pas été trouvé.

C'est l'erreur que j'obtiens could not find driver.

Voici les étapes que j'ai suivies:

$ Sudo apt-get remove php-common
$ Sudo apt-get autoremove
$ Sudo apt-get install php-fpm php-mbstring php-Zip php-mysql php-sqlite3 php-dev php-pear php-xml


$ Sudo pecl uninstall sqlsrv
$ Sudo pecl uninstall pdo_sqlsrv

$ Sudo pecl install sqlsrv
$ Sudo pecl install pdo_sqlsrv

J'ai créé le fichier sqlsrv.ini avec le contenu:

extension=pdo_sqlsrv.so
extension=sqlsrv.so

et copié dans /etc/php/7.2/cli/ et /etc/php/7.2/fpm/

voici à quoi ressemble le code php:

$Host = "station\SQL, port"; //Azure
$db = "dbname";
$user = "user";
$pass = "pass";

try {
    $conn = new PDO("sqlsrv:Server=$Host;Database=$db;LoginTimeout=60", $user, $pass);
}
catch (Exception $e) {
    echo $e->getMessage();
}

Lorsque j'essaie de répertorier les modules de la CLI avec php -m | grep sql, le module sqlsrv ne figure pas dans la liste des modules chargés:

mysqli
mysqlnd
pdo_mysql
pdo_sqlite
sqlite3

Sinon, php --ri pdo_sqlsrv renvoie Extension 'pdo_sqlsrv' not present.

odbcinst -j renvoie:

unixODBC 2.3.4
DRIVERS............: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES..: /etc/ODBCDataSources
USER DATA SOURCES..: /root/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8

dpkg-query -L libodbc1 renvoie:

/.
/usr
/usr/lib
/usr/lib/x86_64-linux-gnu
/usr/lib/x86_64-linux-gnu/libodbc.so.2.0.0
/usr/lib/x86_64-linux-gnu/libodbccr.so.2.0.0
/usr/lib/x86_64-linux-gnu/odbc
/usr/lib/x86_64-linux-gnu/odbc/libnn.so
/usr/share
/usr/share/doc
/usr/share/doc/libodbc1
/usr/share/doc/libodbc1/NEWS.Debian.gz
/usr/share/doc/libodbc1/changelog.Debian.gz
/usr/share/doc/libodbc1/copyright
/usr/share/lintian
/usr/share/lintian/overrides
/usr/share/lintian/overrides/libodbc1
/usr/lib/x86_64-linux-gnu/libodbc.so.1
/usr/lib/x86_64-linux-gnu/libodbc.so.2
/usr/lib/x86_64-linux-gnu/libodbccr.so.1
/usr/lib/x86_64-linux-gnu/libodbccr.so.2
1
Mike
1
Codded