Base de connaissances
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
Installer PHP_PDO_ODBC
Prérequis
- disposer du menu Extensions PHP sur le Manager Infomaniak dans la partie Serveur Cloud (si non il sera nécessaire de faire évoluer le Serveur Cloud)
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
Configurer le 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');
Lien vers cette FAQ: