无法在 ubuntu 14.04 上使用 AMPPS 加载动态库 mongodb.so

无法在 ubuntu 14.04 上使用 AMPPS 加载动态库 mongodb.so

我正在尝试从 Composer 为我的 laravel 项目安装 mongodb 依赖项,并且需要安装 mongodb 驱动程序。我在 ubuntu 14.04 上使用 AMPPS 3.6,默认情况下它具有 mongodb.so 扩展和 mongo.so,但我的问题是当我通过运行获取我的 php 版本时:php -v 我收到此错误:

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/local/ampps/php-7.0/lib/extensions/ext/mongodb.so' - libssl.so.6: cannot open shared object file: No such file or directory in Unknown on line 0

Warning: PHP Startup: Unable to load dynamic library '/usr/local/ampps/php-7.0/lib/extensions/ext/mongodb.so' - libssl.so.6: cannot open shared object file: No such file or directory in Unknown on line 0

当我想通过以下方式查看 php 模块时:php -m我无法在模块列表中看到 mongodb 扩展。

正如您所看到的,有一些相关的东西libssl.so.6,我认为这个库阻止了我。

仅供参考:我在 mac OS sierra 上使用 AMPPS 3.6,并且运行没有任何问题。

这是我启用的 php 扩展的列表:

extension=bz2.so
extension=curl.so
extension=gettext.so
extension=intl.so
extension=imap.so
extension=ldap.so
extension=mbstring.so
extension=exif.so      ; Must be after mbstring as it depends on it
extension=mysqli.so
extension=pdo.so
extension=pdo_mysql.so
extension=pdo_sqlite.so
extension=shmop.so
extension=soap.so
extension=sockets.so
extension=sqlite3.so
extension=tidy.so
extension=xsl.so
extension=gd.so
extension=zlib.so
extension=xmlrpc.so
extension=wddx.so
extension=tokenizer.so
extension=sysvshm.so
extension=sysvsem.so
extension=pcntl.so
extension=openssl.so
extension=mongodb.so
extension=mcrypt.so
extension=iconv.so
extension=ftp.so
extension=dba.so
extension=ctype.so
extension=calendar.so
extension=bcmath.so

有没有什么办法解决这一问题?

提前致谢

答案1

我找到了解决这个问题的方法,我将它发布在这里以供其他人使用。

从 ldd 命令看来,二进制文件正在 /lib/x86_64-linux-gnu 中查找,而不是在找到符号链接的 /usr/lib/x86_64-linux-gnu 中查找。

尝试运行这些并查看是否仍然出现相同的错误:

sudo ln -s /lib/x86_64-linux-gnu/libcrypto.so.1.0.0 /lib/x86_64-linux-gnu/libcrypto.so.6

sudo ln -s /lib/x86_64-linux-gnu/libssl.so.1.0.0 /lib/x86_64-linux-gnu/libssl.so.6

ln -slibssl.so.1.0.0创建从二进制文件到目录libssl.so.6中文件名的符号链接/lib/x86_64-linux-gnusudo需要权限和/lib根目录。

答案2

我做了什么:

  1. 从 AMPPS 控制中心 -> PHP -> 设置图标(轮子)-> 单击 PHP 扩展图标。
  2. 弹出一个名为“扩展”的窗口。
  3. 只需取消勾选并重新勾选所有内容,然后点击“应用”。就这么简单!轻松无忧。

这可能会自动刷新符号链接......

希望这可以帮助。

相关内容