由于 Laravel4 需要mcrypt
扩展,而 PHP7 似乎没有mcrypt
扩展,有什么解决方法可以解决这个问题吗?
9 回答
有同样的问题 - PHP7 缺少 mcrypt。
这对我有用。当被问到时,保留本地 PHP 配置文件。
sudo apt-get update
sudo apt-get install mcrypt php7.0-mcrypt
sudo apt-get upgrade
安装后重启 FPM(或 Apache 或 NGINX 等)。
我在 Mac 上使用 laravel 代客解决了这个问题:
冲泡安装 php70-mcrypt
即使您在 php.ini 中启用了 mcrypt,也可能会出现此问题。尝试以下步骤。
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
安装
使用 Ctrl + Alt + T 打开终端并在 Ubuntu 16.4 上运行 PHP7.0 的以下命令
sudo apt-get install mcrypt php7.0-mcrypt sudo 服务 apache2 重启
php7 有 mcrypt,你可以在 php.ini 中启用它,然后一切都会正常工作。
这样做:
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
- cp到
/usr/lib/php/20151012/
什么是共享扩展目录 - 创建一个 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
- 是的。
我使用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
PHP7 内部包含 mcrypt 扩展 ( source-path/ext/mcrypt/
)。但这取决于 Libmcrypt 软件。
步骤1。
从http://mcrypt.sourceforge.net/下载 libmcrypt-xxtar.gz 并构建它。
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