Blog | Gestión de datos | | 3 min de lectura

Conexión a Actian Ingres con PHP y NGINX

círculos que representan el tratamiento de datos

Hace poco participé como ponente en la Actian Hybrid Data Conference de Londres, donde hablé sobre cómo conectar Actian Ingres —la combinación de bases de datos transaccionales y analíticas de alta velocidad líder en el sector de Actian— a la web. A continuación, te mostramos cómo utilizar un servidor web muy popular (proxy inverso, equilibrio de carga, etc.) en Linux, NGINX, para lograr precisamente eso. A continuación, te explicamos cómo configurar NGINX para el controlador ODBC de Ingres y un conector ODBC genérico de PHP en CentOS. Adaptar estos pasos a otras distribuciones de Linux, como Ubuntu o SUSE, no debería resultar demasiado difícil.

Configuración de PHP con NGINX

En Internet se pueden encontrar instrucciones para configurar NGINX en múltiples sitios. Una buena guía es«Cómo instalar la pila LEMP en CentOS 7». Solo necesitarías NGINX y PHP (no hace falta MySQL, ya que, obviamente, utilizarías Actian Ingres) y, además, tendrías que tener Ingres instalado. Una vez que PHP y NGINX estén completamente configurados, puedes pasar al siguiente paso.

Configuración de ODBC para Ingres con PHP

Para que el controlador ODBC de Ingres funcione con PHP, se necesita un paquete ODBC genérico. Una opción muy utilizada es la extensión php-odbc. No viene incluida de serie con el paquete de PHP, pero suele estar disponible en todas las principales distribuciones de Linux como complemento y se puede instalar fácilmente. En CentOS, se ejecutaría

yum install php-odbc

Nota: La versión de PHP puede variar y, por ello, el nombre de los paquetes también puede diferir. Por ejemplo, «php» puede ser el nombre del paquete para PHP 5.4, pero si deseas PHP 7.0, deberás instalar«php70w». El nombre de los paquetes adicionales variaría de la misma manera (por ejemplo, «php-odbc» frente a «php70w-odbc»).

Otra extensión ODBC habitual de PHP es PHP Data Objects (PDO).

Configuración de NGINX

Quienes estén familiarizados con Apache se darán cuenta de que configurar NGINX es un poco más complejo, ya que hay dos componentes que deben estar interconectados para ejecutar PHP en la web. El motor NGINX es uno de ellos, pero también se requiere un gestor de procesos PHP. Por eso hay dos conjuntos de configuraciones: uno para el servidor NGINX y otro para php-fpm (gestor de procesos PHP). Para el controlador ODBC de Ingres, solo es necesario configurar php-fpm.

Como ya se ha comentado, este ejemplo es para CentOS, pero funciona de manera similar en otras distribuciones, aunque la ubicación del archivo de configuración puede variar. Para averiguarla, te recomiendo que consultes las instrucciones de configuración de php-fpm para la distribución que desees.

Edita el archivo de configuración de php-fpm (/etc/php-fpm.d/www.conf). Añade a este archivo el valor del directorio II_SYSTEM y el valor de la variable de entorno LD_LIBRARY_PATH como parámetros de entorno, tal y como se muestra en el ejemplo siguiente.

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

Tras realizar estos cambios en la configuración, será necesario reiniciar el servicio php-fpm.

Otros recursos

Enla Base de conocimientos de Actian —Ingres ODBC con PHP— se pueden consultar instrucciones detalladas sobre cómo configurar PHP con el controlador ODBC de Ingres, junto con ejemplos.