Błąd krytyczny: wywołanie niezdefiniowanej funkcji mcrypt encrypt()
Uwaga: zależna od bibliotek obsługa MCrypt nie była aktualizowana od lat i MCrypt nie powinien być już uważany za realną lub bezpieczną metodę szyfrowania danych. Co więcej, MCrypt został wycofany w PHP 5 i całkowicie usunięty w PHP 7. Jeśli masz jakiś kod, który uruchamia MCrypt, powinieneś go przefaktorować, aby użyć bardziej nowoczesnej biblioteki szyfrowania.
Czy ktoś wie, dlaczego ten Komunikat o błędzie: (Call to undefined function mcrypt_encrypt() )
wyświetla się, gdy uruchamiam poniższy kod?
Am I brakuje kilku kroków być może jakieś ustawienie w PHP muszę zrobić, zanim ten kod może działać?
$key = 'password to (en/de)crypt';
$string = 'string to be encrypted';
$test = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5($key),
$string, MCRYPT_MODE_CBC, md5(md5($key)));
17 answers
To, co zadziałało dla mnie z PHP w wersji 5.2.8, to otwarcie php.ini
i Zezwolenie na rozszerzenie php_mcrypt.dll
poprzez usunięcie ;
, czyli zmianÄ™:
;extension=php_mcrypt.dll
do extension=php_mcrypt.dll
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-08-31 07:00:15
Jeśli niedawno zaktualizowałeś ubuntu 14.04 oto poprawka tego problemu:
$ sudo mv /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available/
$ sudo php5enmod mcrypt
$ sudo service apache2 restart
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-05-29 06:19:57
Dla windows
;extension=php_mcrypt.dll to extension=php_mcrypt.dll
then restart your apache server
Dla Redhat
sudo yum install php55-mcrypt //if php5.5
sudo yum install php-mcrypt //if less than 5.4
sudo service httpd restart //if apache 2.4
sudo /etc/init.d/httpd restart //if apache 2.2 or less
Dla Ubuntu
sudo apt-get install php5-mcrypt
sudo service apache2 restart //if server not reloaded automatically
Nadal nie działa?
W tym celu należy skontaktować się z Działem obsługi klienta.]}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-02-05 04:56:24
Nie masz zainstalowanej biblioteki mcrypt.
Zobacz http://www.php.net/manual/en/mcrypt.setup.php aby uzyskać więcej informacji.
Jeśli korzystasz z hostingu współdzielonego, możesz poprosić swojego dostawcę o jego zainstalowanie.W OSX możesz łatwo zainstalować mcrypt poprzez homebrew
brew install php54-mcrypt --without-homebrew-php
Następnie dodaj tę linię do /etc / php.ini.
extension="/usr/local/Cellar/php54-mcrypt/5.4.24/mcrypt.so"
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-10-05 00:36:01
Pod Ubuntu miałem problem i rozwiązałem go z
$ sudo apt-get install php5-mcrypt
$ sudo service apache2 reload
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-04-28 11:22:45
Na ubuntu 14.10:
Install module mcrypt
sudo apt install php5-mcrypt
Zapraszamy do zapoznania siÄ™ z naszÄ… ofertÄ…]}
sudo a2enmod mcrypt
Reload module configuration
sudo service apache2 restart
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-11-26 13:21:41
W Linuksie Mint 17.1 - wywołanie niezdefiniowanej funkcji mcrypt_create_iv...
Rozwiązane przez dodanie następującej linii do php.ini
extension=mcrypt.so
Po tym a
service apache2 restart
Rozwiązałem to...Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-06-12 15:39:09
Jeśli używasz PHP 7.2 lub up:
Ta funkcja została przestarzała w PHP 7.1.0 i usunięta w PHP 7.2.0.
Źródło: http://php.net/manual/en/function.mcrypt-encrypt.php
Więc musisz zastąpić kod php i znaleźć rozwiązanie bez mcrypt.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-05-18 15:03:32
Czy mcrypt jest włączony? Możesz użyć phpinfo()
żeby sprawdzić, czy jest.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-04-09 00:55:24
Jeszcze jedno: jeśli obsługujesz PHP za pośrednictwem serwera www, takiego jak Apache, spróbuj ponownie uruchomić serwer WWW. Spowoduje to "zresetowanie" wszystkich modułów PHP, które mogą być obecne, aktywując nową konfigurację.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-06-24 16:09:02
Zakładając, że używasz Linuksa Debiana (ja używam Linux mint 12, problem był na Ubuntu 12.04.1 LTS server i ssh ' ended.)
Sugeruję skorzystanie z porad @ DK i upewnienie się, że mcrypt jest zainstalowany i aktywny na instalacji php5. Użyj "sudo apt-get install php5-mcrypt", aby zainstalować. Moje notatki poniżej.Używając wersji PHP PHP Version 5.3.10-1ubuntu3.4
, jeśli otworzysz phpinfo() zgodnie z sugestią @John Conde, co zrobisz tworząc plik testowy na serwerze WWW (np. Utwórz stronę statusu testphp.php z just zawartość "" w dowolnym miejscu dostępnym na serwerze przez przeglądarkę)
Nie znalazłem obecności włączonego lub wyłączonego statusu na stronie statusu po otwarciu w przeglądarce. Kiedy następnie otworzyłem php.plik ini, wymieniony przez @ Anthony Forloney, myślący o odkomentowaniu ;extension=php_mcrypt.dll to extension=php_mcrypt.dll
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-10-19 12:22:47
Jeśli używasz php5-fpm, pamiętaj, aby go ponownie uruchomić, po zainstalowaniu mcrypt
Service php5-fpm restart
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-10-12 11:36:43
Jeśli używasz ubuntu 14.04 oto poprawka tego problemu:
Najpierw sprawdź php5-mcryp jest już zainstalowany apt-get install php5-mcrypt
Jeśli jest zainstalowany, po prostu uruchom te dwa polecenia lub Zainstaluj i uruchom te dwa polecenia
$ sudo php5enmod mcrypt
$ sudo service apache2 restart
Mam nadzieję, że się uda.Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-05-20 12:56:36
Miałem ten sam problem dlaPHP 7 wersja brakującego mcrypta.
To mi pomogło.sudo apt-get update
sudo apt-get install mcrypt php7.0-mcrypt
sudo apt-get upgrade
sudo service apache2 restart (if needed)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-03-23 11:29:47
Dla Linuksa (Fedora)
yum -y install php-mcrypt
Włącz moduł dodając: "extension=mcrypt.so' do PHP.ini. (/etc / php.ini)
systemctl restart httpd.service
Zrobione!Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-09-14 14:11:09
Dla mnie pomogło odinstalować mcrypt z:
sudo apt-get purge php5-mcrypt
I po prostu zainstaluj go ponownie:
sudo apt-get install php5-mcrypt
I nie zapomnij ponownie uruchomić apache, jak opisano powyżej.
Nie wiem dlaczego i jak było inaczej w moim przypadku( przy użyciu maszyny Wirtualnej z aprowizowanym php55), ale może to pomoże komuś innemu. Miałem również ten problem z innymi modułami, takimi jak xcache...
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-09-08 08:06:57
Sprawdź i zainstaluj php5-mcrypt:
sudo apt-get install php5-mcrypt
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-05-05 20:54:23