J'essaie d'activer le pilote sqlsrv pour php8.1 sur Ubuntu 20.0. Il n'affiche pas l'extension dans phpinfo()
.
Lorsque vous essayez de vérifier le module sqlsrv à l'aide de la commande php -m
, le résultat est le suivant?:
J'ai suivi la documentation officielle ci-dessous :
extension=pdo_sqlsrv.so
, extension=sqlsrv.so
) dans /etc/php/8.1/apache2/php.iniJe ne suis pas s?r de ce qui ne va pas, toutes les suggestions seraient appréciées.
The output of phpinfo() for php7.4:
The output of phpinfo() for php8.1:
Voici le problème?:
Qu'est-ce qui me manque ici ?
J'ai pu résoudre ce problème en ajoutant la commande suivante.
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
Vous devez ensuite redémarrer Apache2
Vous pouvez essayer ceci?:
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
Veuillez noter que -r, --register-only
ne supprimera pas les fichiers, il enregistrera uniquement le package comme non installé.
Consultez cette ressource pour plus d'informations. https://github.com/microsoft/msphpsql/issues/1145#issuecomment- 649682231