Não é possível carregar a biblioteca dinâmica mongodb.so usando o AMPPS no Ubuntu 14.04

1

Estou tentando instalar a dependência do mongodb do compositor para meu projeto laravel e ele precisa do driver mongodb instalado. Estou usando o AMPPS 3.6 no Ubuntu 14.04 que por padrão tem extensão mongodb.so e também mongo.so, mas meu problema é quando eu recebo a versão do meu php executando: php -v estou recebendo este erro:

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

quando eu quero ver os módulos do php por: php -m Eu não consigo ver a extensão mongodb na lista de módulos.

Como você pode ver, há algo relacionado a libssl.so.6 e acho que essa biblioteca está me impedindo.

FYI: Estou usando o AMPPS 3.6 no Mac OS Sierra e ele está funcionando sem nenhum problema.

Esta é a lista da minha extensão do 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

Existe alguma maneira de corrigir isso?

Obrigado antecipadamente

    
por Mohammad_Hosseini 09.10.2016 / 12:58

2 respostas

1

Eu encontrei a solução para este problema, estou postando aqui para outras pessoas usá-lo.

Do comando ldd parece que o binário está procurando em / lib / x86_64-linux-gnu e não / usr / lib / x86_64-linux-gnu onde você encontrou o symlink.

Tente executá-los e veja se você ainda recebe o mesmo erro:

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 -s cria um link simbólico do nome do arquivo libssl.so.1.0.0 para libssl.so.6 no diretório /lib/x86_64-linux-gnu . As permissões sudo são necessárias, pois /lib é um diretório raiz.

    
por Mohammad_Hosseini 10.10.2016 / 08:07
1

O que eu fiz:

  1. Do AMPPS Control Center - > PHP - > Ícone de configurações (a roda) - > Clique no ícone de extensão do PHP.
  2. Uma janela chamada "Extensões" é exibida.
  3. Basta desmarcar e verificar tudo novamente e clicar em "Aplicar". Isso é tudo! Sem complicações.

Isso provavelmente atualiza automaticamente os links simbólicos ...

Espero que isso ajude.

    
por Mihai Miculescu 26.07.2017 / 16:23