Подтвердить что ты не робот

Проблема с PHP7 Laravel Mcrypt

Поскольку Laravel4 требует расширения mcrypt, а PHP7, похоже, не имеет расширения mcrypt, существует ли какое-либо обходное решение для этого?

4b9b3361

Ответ 1

Имел ту же проблему - отсутствовал PHP7 mcrypt.

Это сработало для меня. Когда его спросят, сохраните локальные файлы конфигурации PHP.

sudo apt-get update
sudo apt-get install mcrypt php7.0-mcrypt
sudo apt-get upgrade

После установки перезапустите FPM (или Apache или NGINX и т.д.).

Ответ 2

Я нахожусь на Mac и с laravel-камердинером, я решил с этим:

brew установить php70-mcrypt

Ответ 3

Даже если вы включите mcrypt в php.ini, эта проблема может возникнуть. Выполните следующие шаги.

sudo apt-get update
sudo apt-get install mcrypt php7.0-mcrypt

Я работаю в ubuntu 16.04, и мне также помогли следующие команды.

whereis php  -shows the files with this name
php -v   -shows the php version
which php -shows current php version that is running on the server

Ответ 4

В ubuntu: согласно launchpad.net пакет для mcrypt называется php7.0-mcrypt.

sudo apt-get install php7.0-mcrypt для установки

Ответ 5

php7 имеет mcrypt, вы можете включить его в php.ini, а затем все будет работать нормально.

Ответ 6

Откройте терминал с помощью Ctrl + Alt + T и запустите следующие команды для PHP7.0 на Ubuntu 16.4

sudo apt-get install mcrypt php7.0-mcrypt
sudo service apache2 restart

Ответ 7

выполните следующие действия:

  • wget http://jp2.php.net/distributions/php-7.0.3.tar.gz
  • tar zxf php-7.0.3.tar.gz
  • cd php-7.0.3/ext/mcrypt
  • /php7-path/bin/phpize (при ошибке, например configure: error: mcrypt.h not found. Please reinstall libmcrypt run apt-get install libmcrypt-dev)
  • ./configure --with-php-config=/php7-path/bin/php-config
  • (sudo) make && make install. Это установит mcrypt.so в php-7.0.3/ext/mcrypt/modules
  • cp в /usr/lib/php/20151012/, что является общим расширением dir
  • создайте mcrypt.ini в /etc/php/mods-available/ как extension=mcrypt.so
  • создать ссылку на это, например sudo ln -s /etc/php/mods-available/mcrypt.ini 20-mcrypt.ini в /etc/php/7.0/fpm/conf.d
  • создать ссылку на это, например sudo ln -s /etc/php/mods-available/mcrypt.ini 20-mcrypt.ini в /etc/php/7.0/cli/conf.d
  • sudo service nginx restart
  • sudo service php7.0-fpm restart
  • да, это так.

Ответ 8

PHP7 содержит внутреннее расширение mcrypt (source-path/ext/mcrypt/). Но это зависит от программного обеспечения Libmcrypt.

Шаг 1.

Скачайте libmcrypt-x.x.tar.gz из http://mcrypt.sourceforge.net/ и построить его.

cd libmcrypt-x.x
./configure
make
make install

Шаг 2.

Перестройте PHP7 из исходного кода и добавьте опцию --with-mcrypt.

./configure ... --with-mcrypt

Другой способ без перестройки PHP7

cd php7-source-path/ext/mcrypt/
/php7-path/bin/phpize
./configure --with-php-config=/php7-path/bin/php-config
make && make install
echo "extension=mcrypt.so" >> /php7-path/ext/php.ini

Перезагрузите php

Ответ 9

Я использую Dotdeb, дополнительный репозиторий, предоставляющий самые современные классные игрушки для ваших серверов Debian, таких как Nginx, PHP, MySQL, Redis и т.д.

  • Обновите свой sources.list

    deb http://packages.dotdeb.org {distribution} all 
    deb-src http://packages.dotdeb.org {distribution} all
    
  • Клавиши GnuPG

    wget https://www.dotdeb.org/dotdeb.gpg
    sudo apt-key add dotdeb.gpg
    
  • Обновите apt и создайте что-то потрясающее.

    sudo apt-get update