Не удается получить mcrypt для PHP5

Я делал это много раз:

sudo aptitude install php5-mcrypt

sudo apache2ctl restart

aptitude говорит, что mcrypt установлен. Я переустанавливал его уже 3 раза. Я перезапускал apache около 20 раз с момента его установки. Когда я смотрю на phpInfo, я не вижу в списке mcrypt. Когда я пытаюсь выполнить свой код, он говорит, что функция mcrypt (выберите одну - любую) не существует. mcrypt явно не включен.

Кто-нибудь знает, что может быть не так? Я не знаю, какие части должны быть, где и как все это должно сочетаться.

Я установил PHP 5.5.3

28
задан 30 September 2013 в 21:12

5 ответов

Попробуйте это

sudo php5enmod mcrypt

sudo service apache2 restart
0
ответ дан 30 September 2013 в 21:12

У меня была похожая проблема в 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.

1123 И вуаля, оно появилось в php -m!

0
ответ дан 30 September 2013 в 21:12

Похоже, что ини фрагмент кода, что 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, в зависимости от того, что установлено на вашем система.

0
ответ дан 30 September 2013 в 21:12

Модуль mcrypt не включен по умолчанию. Включите модуль mcrypt, а затем перезапустите apache ( credit )

sudo php5enmod mcrypt
sudo service apache2 restart
0
ответ дан 30 September 2013 в 21:12

Ну, вот и все. Похоже, иногда мы находимся в поиске наиболее запутанного способа сделать что-то столь же простое, как 'enmod'; ) Как говорит Бойнст: sudo php5enmod mcrypt. Затем перезагрузите Apache.

0
ответ дан 30 September 2013 в 21:12

Другие вопросы по тегам:

Похожие вопросы: