J'essaie d'installer la dépendance mongodb à partir de composer pour mon projet laravel et il nécessite l'installation du pilote mongodb. J'utilise AMPPS 3.6 sur Ubuntu 14.04 qui, par défaut, a l'extension mongodb.so et aussi mongo.so, mais le problème est que je reçois la version de mon php en exécutant: php -v
Je reçois le message d'erreur suivant:
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
quand je veux voir les modules php par: php -m
je ne peux pas voir l'extension mongodb dans la liste des modules.
Comme vous pouvez le voir, il y a quelque chose qui a trait à libssl.so.6
et je pense que cette bibliothèque m’arrête.
FYI: J'utilise AMPPS 3.6 sur Mac OS Sierra et cela fonctionne sans aucun problème.
Voici la liste de mes extensions php activées:
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
Est-ce qu'il y a un moyen de réparer ceci?
Merci d'avance
J'ai trouvé la solution à ce problème, je la poste ici pour que d'autres personnes l'utilisent.
Dans la commande ldd, il semble que le binaire cherche dans/lib/x86_64-linux-gnu et non/usr/lib/x86_64-linux-gnu où vous avez trouvé le lien symbolique.
Essayez de les exécuter et voyez si vous obtenez toujours la même erreur:
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
crée un lien symbolique du binaire libssl.so.1.0.0
au binaire libssl.so.6
dans le répertoire /lib/x86_64-linux-gnu
. Les autorisations Sudo
sont nécessaires car /lib
est un répertoire racine.
Ce que j'ai fait:
Cela rafraîchit probablement automatiquement les liens symboliques ...
J'espère que cela t'aides.