Что нужно для PHP mcrypt_decrypt()?
Вопрос
У меня есть скрипт, который использует функцию mcrypt_decrypt(), но я получаю следующую ошибку
Фатальная ошибка:Вызов неопределенной функции mcrypt_decrypt()
Какие модули / библиотеки мне нужно включить, чтобы использовать эту функцию?Или есть другая причина, по которой я получаю сообщение об ошибке?
Спасибо
Решение
Пожалуйста, посмотрите:
Вам нужно скомпилировать ваш PHP с --with-mcrypt[=DIR]
и установите libmcrypt версии 2.5.6 или более поздней на вашем компьютере.
Другие советы
sudo apt-получить установку php5-mcrypt
работает на ubuntu.
Настройте php5-mcrypt с помощью php5-fpm (Ubuntu 14.04)
Я собираюсь предположить, что у вас уже установлены и запущены nginx и php-fpm.
php5-mcrypt уже должен быть установлен (он поставляется в комплекте с php5-fpm).Просто для безопасности, apt-get устанавливает php5-mcrypt
Создайте символическую ссылку на доступные моды, ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available/mcrypt.ini
Включите его.php5enmod mcrypt - шифрование
Перезапустить php-fpm, перезапустить службу php5-fpm
Перезапустить nginx, перезапустить сервис nginx
Сделано!
Вам необходимо скомпилировать PHP с параметром --with-mcrypt[=DIR], чтобы включить это расширение.DIR - это каталог установки mcrypt.Убедитесь, что вы скомпилировали libmcrypt с опцией --отключить posix-потоки.
Обычно, если PHP говорит, что функция не определена, это означает, что вам нужно скомпилировать в какой-то библиотеке.
I выше не работает, вы можете попробовать это:
создайте файл mcrypt.ini в /etc/php5/conf.d с содержимым
extension=mcrypt.so
Я обновил PHP до версии 5.4 через http://php-osx.liip.ch/ и это сработало.
для php 5.3.X
в зависимости от доступности пакета yum mcrypt , вы могли бы использовать пакеты yum
вот так :попробуйте установить php53-mcrypt и перезапустить httpd
И будьте осторожны с папкой на странице phpinfo :"Просканируйте этот каталог на наличие дополнительных файлов .ini" и следующий :"Проанализированы дополнительные файлы .ini ".
После обновления до php 5.4 запущен (работает)
sudo php5enmod mcrypt
sudo service apache2 restart