Я делал это много раз:
sudo aptitude install php5-mcrypt
sudo apache2ctl restart
aptitude говорит, что mcrypt установлен. Я переустанавливал его уже 3 раза. Я перезапускал apache около 20 раз с момента его установки. Когда я смотрю на phpInfo, я не вижу в списке mcrypt. Когда я пытаюсь выполнить свой код, он говорит, что функция mcrypt (выберите одну - любую) не существует. mcrypt явно не включен.
Кто-нибудь знает, что может быть не так? Я не знаю, какие части должны быть, где и как все это должно сочетаться.
Я установил PHP 5.5.3
Попробуйте это
sudo php5enmod mcrypt
sudo service apache2 restart
У меня была похожая проблема в Ubuntu 13.10. После запуска установки composer выдает ту же ошибку, заканчивающуюся на.
****Mcrypt PHP extension required.
Script php artisan clear-compiled handling the post-update-cmd event returned with an error
[RuntimeException]
Error Output:****
Я установил mcrypt
и php5-mcrypt
с aptitude, и все же php -m
не показывал mcrypt
как загруженное расширение:
aptitude install mcrypt
aptitude install php5-mcrypt
Я запускал updatedb
, а затем locate mcrypt
. Я нашел свой mcrypt.ini
в /etc/php5/conf.d
. Все же все другие расширения (например, json) имели свои файлы .ini в /etc/php5/apache2/conf.d
и /etc/php5/cli/conf.d
. Они оба были ссылками на ../../mods.available
.
Итак, я переместил mcrypt.ini
в /etc/php5/available-modules
и установил ссылки:
cd /etc/php5/cli/conf.d
ln -s ../../mods-available/mcrypt.ini 20-mcrypt.ini
И аналогично для /etc/php5/apache2/conf.d
.
php -m
!
Похоже, что ини фрагмент кода, что libmcrypt нагрузки, когда PHP называется по Apache отсутствует. Там должен быть файл с именем /etc/php5/apache2/conf.d/mcrypt.ini
со следующим содержанием
; configuration for php MCrypt module
extension=mcrypt.so
Вы должны быть в состоянии скопировать его из vonfigurations другой PHP интеграции как /etc/php5/cli/conf.d/mcrypt.ini
или /etc/php5/conf.d/mcrypt.ini
, в зависимости от того, что установлено на вашем система.
Модуль mcrypt не включен по умолчанию. Включите модуль mcrypt, а затем перезапустите apache ( credit )
sudo php5enmod mcrypt
sudo service apache2 restart
Ну, вот и все. Похоже, иногда мы находимся в поиске наиболее запутанного способа сделать что-то столь же простое, как 'enmod'; ) Как говорит Бойнст: sudo php5enmod mcrypt
. Затем перезагрузите Apache.