2017-06-26 8 views
0

Ich kann mcrypt.so nicht laden. Es sollte standardmäßig mit dem neuesten PHP-Buildback aktiviert werden. Also gebe ich es nicht in der zusätzlichen Konfigurationsdatei oder options.json an.Kann Mcrypt nicht mit php-buildpack laden

Aber ich erhalte eine Fehlermeldung:

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

Dies ist auf meinem lokalen Rechner (Pivotal Cloud Foundry Dev) und Inszenierung (Swisscom Anwendung Wolke).

Ich stellte fest, dass meine zusätzlichen ini-Ordner aus dem in der Dokumentation angegeben ist anders (.BP-config/php/php.ini.d /):

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

Also zog ich meine zusätzlichen Ini-Datei im Ordner "php.d".

Dank für jeden Hinweis

+1

Es ist am besten, mcrypt nicht zu verwenden, es ist abandonware, wurde seit Jahren nicht mehr aktualisiert und unterstützt keine standardmäßige PKCS # 7 (bisher PKCS # 5) -Polsterung, nur Nicht-Standard-Nullauffüllung, die nicht einmal verwendet werden kann mit binären Daten. mcrypt hat viele ausstehende [Bugs] (https://sourceforge.net/p/mcrypt/bugs/) aus dem Jahr 2003. Die mcrypt-Erweiterung ist veraltet und wird in PHP 7.2 entfernt. Verwenden Sie stattdessen [defuse] (https://github.com/defuse/php-encryption) oder [RNCryptor] (https://github.com/RNCryptor), sie bieten eine vollständige Lösung und werden beibehalten und sind korrekt. – zaph

Antwort

0

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

Es ist seit langer Zeit standardmäßig aktiviert. Überprüfen Sie .bp-config/options.json und sehen Sie, ob Sie PHP_EXTENSIONS dort eingestellt haben. Dies würde den Standard überschreiben.

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 

Ich bin das nicht in der Lage mit dem neuesten Pack zu reproduzieren (als 4.3.35 des Schreibens). Der Fehler besagt, dass die Bibliothek libmcrypt.so.4, die von der mcrypt-Erweiterung verwendet wird, nicht gefunden werden kann. Dies sollte in /home/vcap/app/php/lib vorhanden sein, da es dort vom Build Pack installiert wird.

Ich würde empfehlen, cf ssh zu laufen, um zu überprüfen, ob diese Datei für Ihre App existiert. Überprüfen Sie auch, dass Sie die LD_LIBRARY_PATH nicht überschreiben, wie sich die Bibliotheken in /home/vcap/app/php/lib befinden. Und natürlich versuchen Sie es mit dem neuesten PHP-Build-Pack.

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

Das ist normal. Verwenden Sie den Pfad, der in der Dokumentation .bp-config/php/php.ini.d/*.ini festgelegt ist.

Hoffe, dass hilft!