Maison  >  Questions et réponses  >  le corps du texte

Installer/activer les pilotes sqlsrv et pdo_sqlsrv de php8.1 sur Ubuntu20.0

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 :

Je 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 ?

P粉501683874P粉501683874376 Il y a quelques jours906

répondre à tous(2)je répondrai

  • P粉823268006

    P粉8232680062023-11-02 00:55:33

    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

    répondre
    0
  • P粉193307465

    P粉1933074652023-11-02 00:34:32

    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

    répondre
    0
  • Annulerrépondre