我在 CentOS 7.5 中安装了 php7.2(来自 remi 存储库)。我想从命令行 php 访问 mysqli。尝试时,它显示错误:
调用未定义的函数 mysqli_connect()
使用 apache 运行的 php 与 mysqli 配合良好。通过 yum 安装的所有扩展都完美地反映在这里。但对于 php 命令行(正在解析不同的 php.ini 文件),扩展未加载。
我是否需要单独添加命令行 php 扩展?如果需要,该怎么做?或者还有其他选择吗?如果您需要任何进一步的信息,请告知我们。
感谢您的时间。
答案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 提供所需的输出。