Назад | Перейти на главную страницу

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

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

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

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

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

Спасибо за уделенное время.

Как указал Майкл Хэмптон (спасибо) в комментарии на сервере было две установки 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.