Поскольку Laravel4 требует расширения mcrypt
, и у PHP7, похоже, нет расширения mcrypt
, есть ли способ обхода этого для работы?
Имел ту же проблему – PHP7 отсутствовал mcrypt.
Это сработало для меня. Когда его спросят, сохраните локальные файлы конфигурации PHP.
sudo apt-get update sudo apt-get install mcrypt php7.0-mcrypt sudo apt-get upgrade
Перезагрузите FPM (или Apache или NGINX и т. Д.) После установки.
Я нахожусь на Mac и с лараветом-камердинером, я решил с этим:
brew install php70-mcrypt
Даже если вы включите 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
На ubuntu: Согласно launchpad.net, пакет для mcrypt называется php7.0-mcrypt.
sudo apt-get install php7.0-mcrypt
для установки
php7 имеет mcrypt, вы можете включить его в php.ini, и тогда все будет работать нормально.
Откройте терминал с помощью Ctrl + Alt + T и запустите следующие команды для PHP7.0 на Ubuntu 16.4
sudo apt-get install mcrypt php7.0-mcrypt sudo service apache2 restart
сделайте вот так:
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
запустите 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
/usr/lib/php/20151012/
что такое общие расширения dir /etc/php/mods-available/
write как 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
PHP7 содержит внутреннее расширение mcrypt ( source-path/ext/mcrypt/
). Но это зависит от программного обеспечения Libmcrypt.
Шаг 1.
Загрузите libmcrypt-xxtar.gz из http://mcrypt.sourceforge.net/ и создайте его.
cd libmcrypt-xx ./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
Я использую 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 & build что-то потрясающее.
sudo apt-get update