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 扩展?如果需要,该怎么做?或者还有其他选择吗?如果您需要任何进一步的信息,请告知我们。

感谢您的时间。

答案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 提供所需的输出。

相关内容