Поскольку Laravel4 требует расширения mcrypt
, а PHP7, похоже, не имеет расширения mcrypt
, существует ли какое-либо обходное решение для этого?
Проблема с PHP7 Laravel Mcrypt
Ответ 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
runapt-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