Connexion à Actian Ingres avec PHP et NGINX
Il y a peu, j'ai pris la parole lors de l'Actian Hybrid Data Conference à Londres pour parler de la connexion à Internet d'Actian Ingres, la solution d'Actian combinant des bases de données transactionnelles et analytiques haute vitesse de pointe. Nous vous expliquons ici comment utiliser NGINX, un serveur web très populaire (proxy inverse, équilibrage de charge, etc.) sous Linux, pour y parvenir. 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, telles qu'Ubuntu ou SUSE, ne devrait pas poser de difficulté particulière.
Configuration de PHP avec NGINX
Vous trouverez des instructions pour configurer NGINX à plusieurs endroits sur Internet. Le guideintitulé « Comment installer la pile LEMP sur CentOS 7 » constitue une bonne référence. Vous n'aurez besoin que de NGINX et de PHP (pas besoin de MySQL – vous utiliserez bien sûr Actian Ingres) ; vous devrez en outre avoir installé Ingres. Une fois PHP et NGINX entièrement configurés, vous pouvez passer à l'étape suivante.
Configuration d'Ingres ODBC avec PHP
Un paquet ODBC générique est nécessaire pour que le pilote ODBC d'Ingres fonctionne avec PHP. L'extension php-odbc est un choix courant. Elle n'est pas fournie par défaut avec le paquet PHP, mais elle est généralement disponible sous forme de module complémentaire sur toutes les principales distributions Linux et s'installe facilement. Sous CentOS, vous devez exécuter
yum install php-odbc
Remarque: la version de PHP peut varier, ce qui peut entraîner des différences dans le nom des paquets. Par exemple, « php » peut être le nom du paquet pour PHP 5.4, mais si vous souhaitez installer PHP 7.0, vous devrez installer «php70w ». Le nom des paquets supplémentaires variera 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 connaissent bien Apache remarqueront que la configuration de NGINX est un peu plus complexe, car deux composants doivent être interconnectés pour permettre l'exécution de 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é précédemment, cet exemple concerne CentOS, mais il s'applique de la même manière à d'autres distributions, même si l'emplacement du fichier de configuration peut varier. Pour le déterminer, je vous conseille de consulter les instructions de configuration de php-fpm pour la distribution de votre choix.
Modifiez le fichier de configuration de php-fpm (/etc/php-fpm.d/www.conf). Ajoutez à ce fichier la valeur du répertoire II_SYSTEM et la valeur de la variable d'environnement LD_LIBRARY_PATH 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
Il faudra redémarrer le service php-fpm après avoir effectué ces modifications de configuration.
Autres ressources
Vous trouverez des instructions détaillées sur la configuration de PHP avec le pilote ODBC Ingres, ainsi que des exemples, dansla base de connaissances d'Actian – Ingres ODBC avec PHP.