Вызов функции undefined mcrypt_decrypt() - даже если установлен php5-mcrypt - программирование
Подтвердить что ты не робот

Вызов функции undefined mcrypt_decrypt() - даже если установлен php5-mcrypt

Поэтому я не могу прекратить получение ошибки:

PHP Fatal error:  Call to undefined function mcrypt_decrypt() in 

Даже когда у меня установлен php5_mcrypt, я несколько раз переустанавливал php, но я не могу заставить его работать!

Дополнительная информация:

[email protected]:~/Desktop/bots$ dpkg -l | grep php
ii  libapache2-mod-php5                       5.5.3+dfsg-1ubuntu2.1                      amd64        server-side, HTML-embedded scripting language (Apache 2 module)
ii  php5                                      5.5.3+dfsg-1ubuntu2.1                      all          server-side, HTML-embedded scripting language (metapackage)
ii  php5-cli                                  5.5.3+dfsg-1ubuntu2.1                      amd64        command-line interpreter for the php5 scripting language
ii  php5-common                               5.5.3+dfsg-1ubuntu2.1                      amd64        Common files for packages built from the php5 source
ii  php5-curl                                 5.5.3+dfsg-1ubuntu2.1                      amd64        CURL module for php5
ii  php5-json                                 1.3.1+dfsg-2                               amd64        JSON module for php5
ii  php5-mcrypt                               5.4.6-0ubuntu3                             amd64        MCrypt module for php5
ii  php5-mysql                                5.5.3+dfsg-1ubuntu2.1                      amd64        MySQL module for php5
ii  php5-readline                             5.5.3+dfsg-1ubuntu2.1                      amd64        Readline module for php5

Не знаю, в чем проблема, попробовал все.

Дополнительная информация:

[email protected]:~/Desktop/bots$ php -v
PHP 5.5.3-1ubuntu2.1 (cli) (built: Dec 12 2013 04:24:35) 
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2013 Zend Technologies
    with Zend OPcache v7.0.3-dev, Copyright (c) 1999-2013, by Zend Technologies
4b9b3361

Ответ 1

Установка - это одно. Включение - другое. Убедитесь, что ваш файл /etc/php.ini содержит следующую строку:

extension=mcrypt.so

Если вы не можете найти свой php.ini, создайте файл test.php, содержащий:

<?php phpinfo(); ?>

Выполните его с помощью php test.php | grep ".ini", и вы найдете пути к вашим ini файлам. Один из них должен включать строку extension= выше.

Ответ 2

Возможно, вам придется включить модуль. В системах Ubuntu это проще всего сделать, связав файл ini, который поставляется с php5-mcrypt, в ваш conf.d для каждого используемого вами двоичного файла PHP:

sudo ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/cli/conf.d/mcrypt.ini
sudo ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/cgi/conf.d/mcrypt.ini