CentOS 7 mysqli работает на php apache, но не на php-cli

У меня установлен php7.2 (из репозитория remi) в CentOS 7.5. Я хочу получить доступ к mysqli из командной строки php. При попытке выдает ошибку:

Вызов неопределенной функции mysqli_connect()

PHP работает с Apache работает нормально с MySQL. Все расширения, установленные через yum, прекрасно отражаются здесь. Но для командной строки php (которая разбирает другой файл php.ini) расширения не загружаются.

Нужно ли отдельно добавлять расширения для командной строки php? Если так, то как? Или любая другая альтернатива? Пожалуйста, дайте знать, если вам нужна дополнительная информация.

Спасибо за ваше время.

1 ответ

Как отметил Michael Hampton (спасибо) в комментарии, на сервере было две установки php. Я пришел к двум различным решениям, основанным на конкретных потребностях:

  1. Для php-cli:

В.bash_profile добавлена ​​следующая строка

alias php="/usr/bin/php"
  1. Для запуска PHP из сервлета Java (как команда):

использование

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();
....
....
}

Это все

php -modules в терминале выдает нужный вывод с помощью mysqli.

Другие вопросы по тегам