
CentOS 7.5 に php7.2 をインストールしました (remi リポジトリから)。コマンドライン php から mysqli にアクセスしたいのですが、試してみると次のエラーが表示されます:
未定義の関数 mysqli_connect() を呼び出します
Apache で実行されている PHP は、MySQLi でも問題なく動作します。yum でインストールされたすべての拡張機能は、ここで完全に反映されます。ただし、PHP コマンド ライン (別の php.ini ファイルを解析) の場合、拡張機能はロードされません。
コマンドライン PHP の拡張機能を別途追加する必要がありますか? その場合、どのように追加しますか? または、他の代替手段はありますか? さらに情報が必要な場合はお知らせください。
お時間をいただきありがとうございます。
答え1
指摘したようにマイケル・ハンプトン(ありがとう) コメントによると、サーバーには 2 つの PHP インストールがありました。特定のニーズに基づいて、2 つの異なるソリューションにたどり着きました。
- php-cliの場合:
.bash_profileに次の行が追加されます
alias php="/usr/bin/php"
- Java サーブレットから 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を使用して目的の出力を得ます。