Connexion à Actian X (Ingres) avec PHP et NGINX
Actian Corporation
12 décembre 2017

Il y a peu, j'ai parlé de la connexion au Web d'Actian X (Ingres), la combinaison de bases de données transactionnelles et analytiques à grande vitesse d'Actian, lors de la conférence sur les données hybrides d'Actian à Londres. Nous présentons ici comment utiliser un serveur web très populaire (reverse proxy, équilibrage de charge, etc.) sur Linux, NGINX, pour faire exactement cela. Voici comment configurer NGINX pour le pilote ODBC Ingres et un connecteur ODBC PHP générique sous CentOS. L'adaptation de ces étapes à d'autres distributions Linux, comme Ubuntu ou SUSE, ne devrait pas être trop difficile.
Configuration de PHP avec NGINX
Des instructions sur l'installation de NGINX peuvent être trouvées en ligne à plusieurs endroits. Un bon ensemble d'instructions est How To Install the LEMP stack On CentOS 7 (Comment installer la pile LEMP sur CentOS 7). Vous n'aurez besoin que de NGINX et de PHP (pas besoin de MySQL - vous utiliserez évidemment Actian X) et, en outre, vous devrez avoir installé Ingres ou Actian X. Une fois que PHP et NGINX sont complètement installés, vous pouvez passer à l'étape suivante.
Configuration d'Ingres ODBC avec PHP
Un paquetage ODBC générique est nécessaire pour que le pilote Ingres ODBC fonctionne avec PHP. Un choix populaire est l'extension php-odbc. Elle n'est pas fournie avec le paquetage php mais est généralement disponible sur toutes les distributions Linux majeures en tant qu'extension et peut être facilement installée. Sous CentOS, vous devez exécuter
yum install php-odbc
Remarque: la version de PHP peut être différente et, par conséquent, le nom des paquets peut être différent. Par exemple, php peut être le nom du paquet pour PHP 5.4, mais si vous voulez PHP 7.0, vous devez installer php70w. Le nom des paquets supplémentaires sera différent de la même manière (par exemple php-odbc vs. php70w-odbc).
Une autre extension PHP ODBC courante est PHP Data Objects (PDO).
Configuration de NGINX
Ceux d'entre vous qui sont familiers avec Apache noteront que la configuration de NGINX est un peu plus complexe étant donné qu'il y a deux éléments qui sont interconnectés pour faire fonctionner PHP sur le web. Le moteur NGINX en est un, mais un gestionnaire de processus PHP est également nécessaire. C'est pourquoi il existe deux ensembles de paramètres, l'un pour le serveur NGINX, l'autre pour php-fpm (gestionnaire de processus PHP). Pour le pilote ODBC Ingres, seul php-fpm doit être configuré.
Comme indiqué, cet exemple concerne CentOS, mais il fonctionne de la même manière pour d'autres distributions, bien que l'emplacement du fichier de configuration puisse être différent. Pour le savoir, je suggère de consulter les instructions de configuration de php-fpm pour la distribution souhaitée.
Editez le fichier de configuration de php-fpm(/etc/php-fpm.d/www.conf). Ajoutez la valeur du répertoire II_SYSTEM et la valeur de la variable d'environnement LD_LIBRARY_PATH à ce fichier en tant que paramètres d'environnement, comme indiqué dans l'exemple ci-dessous.
env[II_SYSTEM] = /opt/Actian/IngresII env[LD_LIBRARY_PATH] = /lib:/usr/lib:/opt/Actian/IngresII/ingres/lib:/opt/Actian/IngresII/ingres/lib/lp32 env[ODBCSYSINI] = /opt/Actian/IngresII/files
Un redémarrage du service php-fpm sera nécessaire après avoir effectué ces changements de configuration.
Autres ressources
Des instructions détaillées sur la configuration de PHP avec le pilote ODBC Ingres ainsi que des exemples sont disponibles sur Actian Knowledge Base - Ingres ODBC with PHP.
S'abonner au blog d'Actian
Abonnez-vous au blogue d'Actian pour recevoir des renseignements sur les données directement à vous.
- Restez informé - Recevez les dernières informations sur l'analyse des données directement dans votre boîte de réception.
- Ne manquez jamais un article - Vous recevrez des mises à jour automatiques par courrier électronique pour vous avertir de la publication de nouveaux articles.
- Tout dépend de vous - Modifiez vos préférences de livraison en fonction de vos besoins.