我有一个 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 版本而不是 PHP 7 上的 MongoDB 驱动程序。
如何告诉 MongoDB 驱动程序使用 PECL 安装在 PHP 7 版本上(或者可能是另一种安装方式)?
当您在
pecl
没有完整路径的情况下调用二进制文件时,您的 shell 可能会运行/usr/bin/pecl
,而这又可能是由 PHP5 从 .deb 包安装的。您需要运行pecl
随 PHP7 安装的二进制文件。它放在哪里只能由您确定,因为路径是在编译时配置的。尝试/usr/local/bin/pecl
和$PREFIX/bin/pecl
($PREFIX 是另一个配置选项)。只需使用:sudo apt-get install php7.0-mongodb 检查 php 信息: https ://www.php.net/manual/es/mongodb.installation.pecl.php
问候,阿米克。