在安装Laravel时,由于没有安装PHP的mcrypt扩展,所以导致了报错,折腾了好久,终于找到了完美的安装方法,现总结归纳如下:
报错:
Problem 1
- laravel/framework v5.0.9 requires ext-mcrypt * -> the requested PHP extension mcrypt is missing from your system.
第一种解决方法:
一、下载并解压安装mcrypt-2.6.8.tar.bz2
二、根据自己系统安装的PHP版本,下载对应的源码并解压
①、用php -v 命令查看自己系统默认安装的PHP版本
MacdeMacBook-Pro-3:mcrypt mac$ PHP -v
PHP 5.6.14 (cli) (built: Oct 3 2015 14:43:37)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies
可以看出PHP版本为PHP 5.6.14,在PHP官网下载对应版本的源码:http://php.net/releases/index.php
②、切换到下载目录,并解压
#解压
tar zxvf php-5.6.14.tar.gz
三、下载并安装Autoconfigure
curl -O http://ftp.gnu.org/gnu/autoconf/autoconf-latest.tar.gz
tar xvfz autoconf-latest.tar.gz
cd autoconf-2.69/
./configure
make
sudo make install
四、安装PHP的mcrypt扩展
首先切换目录到下载解压后的php-5.6.14/ext/mcrypt的目录
cd php-5.6.14/ext/mcrypt
phpize
./configure
make
sudo make install
复制编译好的文件:
MacdeMacBook-Pro-3:mcrypt mac$
sudo cp modules/mcrypt.so /usr/local/Cellar/php56/5.6.14/lib/php/extensions/no-debug-non-zts-20131226/
五、修改php.ini文件
#修改php.ini文件:
sudo vim /etc/php.ini
#添加如下:
extension=mcrypt.so
六、重启Apache服务器
sudo apachectl restart
第二种安装mcrypt方法:
系统:OS X 10.10.5
php版本:5.6.14
mac从10.10之后默认系统自带了php。小编之前在玩laravel的时候。laravel5.1用系统自带php启动没问题。但是laravel5.0用系统自带的php启动出错,错误信息如下
ErrorException in EncryptionServiceProvider.php line 16:
Use of undefined constant MCRYPT_RIJNDAEL_128 - assumed 'MCRYPT_RIJNDAEL_128'
明显是缺少mcrypt拓展。小编上晚上找一些资料来解决。结果问题没解决,还把系统自带的php配置搞乱了很多。这两天新换ssd重装系统。玩laravel。又想自虐一下。哈哈哈。其实安装php mcrypt拓展很简单。首先你要有个brew。安装brew如下
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
然后安装mcrypt。
brew install mcrypt
brew install php55-mcrypt
当执行第二个的时候,会提示错误
Error: No available formula for php55-mcrypt
这是因为没有更新brew的安装源,
执行命令
brew tap homebrew/dupes
brew tap josegonzalez/homebrew-php
brew install php55-mcrypt
安装成功。
MacdeMacBook-Pro-3:StuGrade mac$ brew install php55-mcrypt
Error: Formulae found in multiple taps:
* homebrew/php/php55-mcrypt
* josegonzalez/php/php55-mcrypt
解决:
多个镜像地址,brew不知道该怎么办了!
brew untap homebrew/php
应为本地安装的为PHP56版本,所以这里需要安装对应的 php56-mcrypt
安装成功后,用php -m查看是否安装成功:
php -m