42

由于 Laravel4 需要mcrypt扩展,而 PHP7 似乎没有mcrypt扩展,有什么解决方法可以解决这个问题吗?

4

9 回答 9

85

有同样的问题 - PHP7 缺少 mcrypt。

这对我有用。当被问到时,保留本地 PHP 配置文件。

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

安装后重启 FPM(或 Apache 或 NGINX 等)。

于 2016-02-16T00:47:25.133 回答
29

我在 Mac 上使用 laravel 代客解决了这个问题:

冲泡安装 php70-mcrypt

于 2016-06-11T08:29:13.560 回答
13

即使您在 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
于 2016-07-02T11:02:32.953 回答
8

在 ubuntu 上:根据launchpad.net,mcrypt 的包称为 php7.0-mcrypt。

sudo apt-get install php7.0-mcrypt安装

于 2017-01-18T10:12:15.313 回答
4

使用 Ctrl + Alt + T 打开终端并在 Ubuntu 16.4 上运行 PHP7.0 的以下命令

sudo apt-get install mcrypt php7.0-mcrypt
sudo 服务 apache2 重启
于 2017-06-12T12:19:10.293 回答
3

php7 有 mcrypt,你可以在 php.ini 中启用它,然后一切都会正常工作。

于 2015-12-04T08:23:22.443 回答
2

这样做:

  1. wget http://jp2.php.net/distributions/php-7.0.3.tar.gz
  2. tar zxf php-7.0.3.tar.gz
  3. cd php-7.0.3/ext/mcrypt
  4. /php7-path/bin/phpizeconfigure: error: mcrypt.h not found. Please reinstall libmcrypt运行等错误时apt-get install libmcrypt-dev
  5. ./configure --with-php-config=/php7-path/bin/php-config
  6. (sudo) make && make install.这将安装 mcrypt.so 在php-7.0.3/ext/mcrypt/modules
  7. cp到/usr/lib/php/20151012/什么是共享扩展目录
  8. 创建一个 mcrypt.ini/etc/php/mods-available/写为extension=mcrypt.so
  9. sudo ln -s /etc/php/mods-available/mcrypt.ini 20-mcrypt.ini创建指向此的链接,例如/etc/php/7.0/fpm/conf.d
  10. sudo ln -s /etc/php/mods-available/mcrypt.ini 20-mcrypt.ini创建指向此的链接,例如/etc/php/7.0/cli/conf.d
  11. sudo service nginx restart
  12. sudo service php7.0-fpm restart
  13. 是的。
于 2016-03-02T18:32:10.993 回答
1

我使用Dotdeb,一个额外的存储库,为您的 Debian 服务器(如 Nginx、PHP、MySQL、Redis 等)提供最新的各种酷玩具。

  1. 更新您的sources.list

    deb http://packages.dotdeb.org {distribution} all 
    deb-src http://packages.dotdeb.org {distribution} all
    
  2. GnuPG 密钥

    wget https://www.dotdeb.org/dotdeb.gpg
    sudo apt-key add dotdeb.gpg
    
  3. 更新 apt 并构建一些惊人的东西。

    sudo apt-get update
    
于 2017-01-03T13:50:23.310 回答
0

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

于 2015-12-25T07:24:38.260 回答