
我在 CentOS 7.5 中安裝了 php7.2(來自 remi 儲存庫)。我想從命令列 php 存取 mysqli。嘗試時,它顯示錯誤:
呼叫未定義的函數 mysqli_connect()
使用 apache 運行的 php 與 mysqli 運作良好。所有透過 yum 安裝的擴充功能都在這裡完美反映。但對於 php 命令列(正在解析不同的 php.ini 檔案),擴充功能不會載入。
我需要單獨添加命令列 php 的擴充嗎?如果是這樣怎麼辦?或是有其他選擇嗎?如果您需要任何進一步的信息,請告知 e。
感謝您的時間。
答案1
正如所指出的麥可漢普頓(謝謝)在評論中,伺服器中有兩個php安裝。根據具體需求,我得到了兩種不同的解決方案:
- 對於 php-cli:
在 .bash_profile 中,新增以下行
alias php="/usr/bin/php"
- 從 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 給出所需的輸出。