我有一台 Debian Web 服务器,在 ISPConfig 3 上安装了 Apache/Mysql/PHP5。我手动安装了附加 PHP 版本 (PHP 7.0.5),以便在 PHP 5 上有一个网站,在 PHP 7 上有一个网站,一切正常。(我使用以下教程安装 PHP 7:https://www.howtoforge.com/tutorial/how-to-install-php-7-on-debian/)
现在我想安装新的 MongoDB 驱动程序(PHP 7 友好),以便它可以与我的 PHP 7 网站一起使用(我让旧驱动程序在 PHP 5 上运行)。
为此,我使用pecl install mongodb
并添加extension=mongodb.so
到了 PHP 7ini
文件中。安装正常,但当我检查 PHP 7 上的扩展状态时,它告诉我扩展未加载。
原因似乎是在 PHP 5 版本上安装了 MongoDB 驱动程序,而不是 PHP 7 版本。
我如何告诉 MongoDB 驱动程序使用 PECL 安装在 PHP 7 版本上(或者可能是另一种安装方式)?
答案1
当您调用pecl
没有完整路径的二进制文件时,您的 shell 可能会运行/usr/bin/pecl
,而这又可能是由 PHP5 从 .deb 包安装的。您需要运行pecl
使用 PHP7 安装的二进制文件。它放在哪里只有您才能确切知道,因为路径是在编译时配置的。尝试/usr/local/bin/pecl
和$PREFIX/bin/pecl
($PREFIX 是另一个配置选项)。
答案2
只需使用:sudo apt-get install php7.0-mongodb 检查 php 信息: https://www.php.net/manual/es/mongodb.installation.pecl.php
此致敬礼,Amic。