1 000 FAQ, 500 tutoriels et vidéos explicatives. Ici, il n'y a que des solutions !
Connecter un Serveur Cloud à une base de données externe
Ce guide explique comment se connecter à une base de données externe depuis un Serveur Cloud.
Préambule
- il est possible de se connecter en SSL à MySQL (externe ou pas) - à spécifier lors de l'établissement de la connexion
- le port MySQL 3306 est fermé par défaut - pour l'ouvrir, lire ce guide
- Infomaniak n'installe pas PDO_DBLIB
Prérequis
- disposer du menu Extensions PHP depuis la console d'administration de votre Serveur Cloud (si non il sera nécessaire de faire évoluer le Serveur Cloud)
Installer PHP_PDO_ODBC
Il est possible d'installer l'extension PHP_PDO_ODBC depuis le menu Extensions PHP de votre Serveur Cloud:
- se connecter au Manager Infomaniak (manager.infomaniak.com) depuis un navigateur Web comme Brave ou Firefox
- cliquer sur l'icône en haut à droite de l'interface (ou naviguer grâce au menu latéral gauche p.ex)
- choisir Serveur Cloud (univers Web & Domaine)
- cliquer sur le nom de l'objet concerné dans le tableau qui s'affiche
- cliquer sur Extensions PHP dans le menu latéral gauche
- cliquer sur le bouton bleu Installer une extension
- choisir l'extension PHP_PDO_ODBC
- valider l'installation
Connecteur
La configuration du driver est déjà définie dans /etc/odbcinst.ini
:
[FreeTDS]
Description = MS SQL database access with Free TDS Driver
Driver = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
Setup = /usr/lib/x86_64-linux-gnu/odbc/libtdsS.so
Il n'y a pas besoin de la re-définir statiquement dans le .odbc.ini
ou dans la home de l'utilisateur ~~/.odbc.ini ou aussi dynamiquement dans le code PHP. Exemple avec le driver FreeTDS défini au préalable, il faut aussi que la version du driver soit spécifiée à la fin de la déclaration de l'objet pdo :
$con = new PDO('odbc:Driver=FreeTDS;Server=__SERVER IP__;Port=3306;DATABASE=__DATABASE NAME__;UID=__USERNAME__;PWD=__PASSWORD__;TDS_Version=8.0');