由于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上,有了laravel代客,我解决了这个问题:
brew安装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-mcryptsudo服务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
.这将在php-7.0.3/ext/mcrypt/modules
中安装mcrypt.so- cp到
/usr/lib/php/20151012/
共享扩展目录是什么 - 在
/etc/php/mods-available/
中创建一个mcrypt.ini,写入为extension=mcrypt.so
- 创建指向此的链接,例如
/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 ln -s /etc/php/mods-available/mcrypt.ini 20-mcrypt.ini
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.
从以下位置下载libmcrypt-x.x.tar.gzhttp://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