2017-06-26 4 views
0

Je ne peux pas charger mcrypt.so. Il est censé être activé par défaut avec le php-buildback le plus récent. Donc, je ne le spécifie pas dans le fichier de configuration supplémentaire ou options.json.Impossible de charger mcrypt avec php-buildpack

Mais je reçois une erreur:

PHP Startup: Unable to load dynamic library '/home/vcap/app/php/lib/php/extensions/no-debug-non-zts-20160303/mcrypt.so' - libmcrypt.so.4: cannot open shared object file: No such file or directory in Unknown on line 0

C'est sur ma machine locale (Pivotal Cloud Foundry Dev) et la mise en scène (Swisscom application Cloud).

Je note que mon dossier est ini supplémentaire différent de celui indiqué dans la documentation (.bp-config/php/php.ini.d /):

Scan this dir for additional .ini files => /home/vcap/app/.bp-config/php/php.d

Alors je me suis déplacé mon plus fichier ini dans le dossier "php.d".

Merci pour tout soupçon

+1

Il est préférable de ne pas utiliser mcrypt, c'est abandonware, n'a pas été mis à jour depuis des années et ne supporte pas le remplissage standard PKCS # 7 (née PKCS # 5), seulement un remplissage non standard qui ne peut même pas être utilisé avec des données binaires. mcrypt a beaucoup de [bugs] en suspens (https://sourceforge.net/p/mcrypt/bugs/) datant de 2003. L'extension mcrypt qui est obsolète sera supprimée en PHP 7.2. Au lieu de cela, utilisez [defuse] (https://github.com/defuse/php-encryption) ou [RNCryptor] (https://github.com/RNCryptor), ils fournissent une solution complète et sont maintenus et corrects. – zaph

Répondre

0

It is supposed to be activated by default with the newest php-buildback.

Il a été activé par défaut depuis longtemps. Vérifiez .bp-config/options.json et voir si vous avez PHP_EXTENSIONS réglé là. Cela remplacerait la valeur par défaut.

But I get an error:

PHP Startup: Unable to load dynamic library '/home/vcap/app/php/lib/php/extensions/no-debug-non-zts-20160303/mcrypt.so' - libmcrypt.so.4: cannot open shared object file: No such file or directory in Unknown on line 0 

Je ne suis pas en mesure de reproduire ce avec le dernier pack de construction (comme l'écriture 4.3.35). L'erreur indique qu'il ne peut pas trouver la bibliothèque libmcrypt.so.4, qui est utilisée par l'extension mcrypt. Cela devrait exister dans /home/vcap/app/php/lib, car il est installé là par le pack de construction.

Je suggère d'exécuter cf ssh pour vérifier et voir si ce fichier existe pour votre application. Vérifiez également que vous ne surchargez pas le LD_LIBRARY_PATH, qui correspond aux bibliothèques du /home/vcap/app/php/lib. Et, bien sûr, essayez d'utiliser le dernier pack de build PHP.

I noted that my additional ini folder is different from the one specified in the documentation (.bp-config/php/php.ini.d/):

C'est normal. Utilisez le chemin défini dans la documentation, .bp-config/php/php.ini.d/*.ini.

Espérons que ça aide!