CentOS 7 mysqli funciona en php apache pero no en php-cli

CentOS 7 mysqli funciona en php apache pero no en php-cli

Tengo instalado php7.2 (desde el repositorio remi) en CentOS 7.5. Quiero acceder a mysqli desde la línea de comando php. Al intentarlo me muestra el error:

Llamada a la función indefinida mysqli_connect()

El php que se ejecuta con apache funciona bien con mysqli. Todas las extensiones instaladas a través de yum se reflejan perfectamente aquí. Pero para la línea de comando php (que analiza un archivo php.ini diferente), las extensiones no se cargan.

¿Necesito agregar por separado las extensiones para la línea de comandos php? ¿Si es así, cómo? ¿O alguna otra alternativa? Por favor, avísenos si necesita más información.

Gracias por tu tiempo.

Respuesta1

Como lo señalaMichael Hampton(gracias) en el comentario, había dos instalaciones de php en el servidor. He llegado a dos soluciones diferentes basadas en una necesidad específica:

  1. Para php-cli:

En .bash_profile, se agrega la siguiente línea

alias php="/usr/bin/php"
  1. Para ejecutar PHP desde el servlet java (como comando):

Usar

String[] commands = {"bash", "-c", "/usr/bin/php myphpfile.php arg01 arg02"};
File dir = new File("<my-php-file-directory>");
try{
Process process;
process = Runtime.getRuntime().exec(commands, null, dir);
process.waitFor();
....
....
}

Eso es todo

php -modulesen la terminal da el resultado deseado con mysqli.

información relacionada