CentOS 7 mysqli 適用於 php apache 但不適用於 php-cli

CentOS 7 mysqli 適用於 php apache 但不適用於 php-cli

我在 CentOS 7.5 中安裝了 php7.2(來自 remi 儲存庫)。我想從命令列 php 存取 mysqli。嘗試時,它顯示錯誤:

呼叫未定義的函數 mysqli_connect()

使用 apache 運行的 php 與 mysqli 運作良好。所有透過 yum 安裝的擴充功能都在這裡完美反映。但對於 php 命令列(正在解析不同的 php.ini 檔案),擴充功能不會載入。

我需要單獨添加命令列 php 的擴充嗎?如果是這樣怎麼辦?或是有其他選擇嗎?如果您需要任何進一步的信息,請告知 e。

感謝您的時間。

答案1

正如所指出的麥可漢普頓(謝謝​​)在評論中,伺服器中有兩個php安裝。根據具體需求,我得到了兩種不同的解決方案:

  1. 對於 php-cli:

在 .bash_profile 中,新增以下行

alias php="/usr/bin/php"
  1. 從 java servlet 運行 PHP(作為命令):

使用

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 給出所需的輸出。

相關內容