2017-09-21 11 views
0
$this->_connection = new PDO("odbc:Driver={SQL Server};Server=$serverName,1433; Database=".DB_NAME.";",DB_USER,DB_PASS); 

Ceci est ma connexion à la base de données. J'ai installé php71-php-odbc.x86_64 0:7.1.9-1.el7.remi en utilisant la commande yum --enablerepo=remi install php71-php-odbc il a confirmé l'installation parpilote pdo driver odbc sqlsrv pas trouvé

Running transaction check 
Running transaction test 
Transaction test succeeded 
Running transaction 
    Installing : php71-runtime-1.0-1.el7.remi.x86_64                             1/5 
    Installing : php71-php-common-7.1.9-1.el7.remi.x86_64                            2/5 
    Installing : php71-php-json-7.1.9-1.el7.remi.x86_64                            3/5 
    Installing : php71-php-pdo-7.1.9-1.el7.remi.x86_64                            4/5 
    Installing : php71-php-odbc-7.1.9-1.el7.remi.x86_64                            5/5 
    Verifying : php71-php-json-7.1.9-1.el7.remi.x86_64                            1/5 
    Verifying : php71-php-odbc-7.1.9-1.el7.remi.x86_64                            2/5 
    Verifying : php71-php-common-7.1.9-1.el7.remi.x86_64                            3/5 
    Verifying : php71-php-pdo-7.1.9-1.el7.remi.x86_64                            4/5 
    Verifying : php71-runtime-1.0-1.el7.remi.x86_64                             5/5 

Installed: 
    php71-php-odbc.x86_64 0:7.1.9-1.el7.remi 

Dependency Installed: 
    php71-php-common.x86_64 0:7.1.9-1.el7.remi 
    php71-php-json.x86_64 0:7.1.9-1.el7.remi 
    php71-php-pdo.x86_64 0:7.1.9-1.el7.remi 
    php71-runtime.x86_64 0:1.0-1.el7.remi 

Dans la ligne de commande. La chose im confus est la sortie de print_r(PDO::getAvailableDrivers()); est

Array 
(
    [0] => mysql 
    [1] => sqlite 
) 

J'attends que odbc sera ajouté dans le résultat. Aussi, si je lance php -m dans la commande, il n'y a pas d'odbc dans la liste des modules dans la commande.

Quelle est la manière correcte d'installer le pilote nécessaire pour la connexion indiquée ci-dessus.

Server runs centOS 7

Update

Installing odbc driver to get rid of error saying Caught exception: could not find driver

Répondre

0

1/vous avez installé php71 qui est un SCL (installation parallèle), donc assurez-vous d'utiliser la bonne commande php

# /opt/remi/php72/root/usr/bin/php -r 'print_r(PDO::getAvailableDrivers());' 
Array 
(
    [0] => dblib 
    [1] => firebird 
    [2] => mysql 
    [3] => oci 
    [4] => odbc 
    [5] => pgsql 
    [6] => sqlite 
    [7] => sqlsrv 
) 

2/Peut-être vous avez besoin d'une seule version de PHP, vérifiez le wizard instructions

3/Plus d'informations red Microsoft SQL Server from PHP

+0

mate '/ opt/remi/php72/root/usr/bin/php -r' après l'avoir exécuté je reçois' bash:/opt/remi/php71/root/usr/bin/php: Aucun tel fichier ou répertoire 'cela signifie-t-il que quelque chose ne va pas dans mon installation et c'est la raison pour laquelle je ne peux pas me connecter en utilisant' odbc'? – Manlapig

+0

trouvé votre réponse [ici] (https://stackoverflow.com/questions/37027457/php-with-mssql-not-installing-in-centos-7) je voulais l'essayer mais je reçois une erreur en disant 'Examining/var /tmp/yum-root-Om8xoE/epel-release-latest-7.noarch.rpm: epel-release-7-10.noarch /var/tmp/yum-racine-Om8xoE/epel-release-latest-7. noarch.rpm: ne met pas à jour le paquet installé. Erreur: Rien à faire '*** Comment résoudre ce problème? *** – Manlapig

+0

On dirait que vous avez installé des extensions supplémentaires comme SCL (php71-php- *), quand vous avez besoin du paquet de base (php- *), voir le Assistant: https://rpms.remirepo.net/wizard/ –