最近开发的机器换成了MAC,突然切换过来之后发现有些不适应,以前在windos上用的是xampp,其实在mac中也有xampp的,只是因为mac买来的时候就自带了php和apache就懒得卸载重新去装xampp了,并且对于自己来说用这种干净的环境需要什么再去装什么会让自己对于系统的认识多一分。
那么言归正传,这次遇到的问题是mcrypt的安装,公司的项目中用到了这个组件,AesDecrypt requires PHP mcrypt extension to be loaded in order to use data encryption feature. 发现遇到了这个错误,根据错误提示可以知道是缺少php mcrypt extension这个组件,然后就各种搜索,发现直接搜索这个错误的话都是介绍一些关于这个组件作用的,并没有关于怎样解决这个错误的问题,然后就开始搜关于安装这个组件的一些过程,发现百度并没有太好的文章,那么只能换谷歌啦,经过努力终于找到了一篇文章,是英文的,在我的努力下终于安装成功了,下面把过程分享给大家
我的mac版本是10.10 可能你看到这篇文章的时候和我的版本并不相同,so~你要下载适合自己的版本,这是前提。
接下来我们需要创建mcrypt 这个目录
cd ~ ; mkdir mcrypt ; cd mcrypt
接下来我们要下载两个东西,一个这个组件的php扩展和相应的php程序
http://sourceforge.net/projects/mcrypt/files/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz/download
http://php.net/releases/index.php
把着两个下载到我们创建的目录当中
下面的命令关于版本号的切记更换为自己的版本
cd ~/mcrypt
tar -zxvf libmcrypt-2.5.8.tar.gz
tar -zxvf php-5.5.9.tar.gz
解压完成就可以删除压缩包文件了
rm *.gz
接下来就是配置libmcrypt
cd libmcrypt-2.5.8
./configure
make
sudo make install
接下来需要安装Autoconf
cd ~/mcrypt
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
再接下来编译mcrypt的php扩展
cd ../php-5.5.9/ext/mcrypt/
/usr/bin/phpize
执行这句话的时候如果正确的话应当输出类似的信息,因版本可能略有差异
Configuring for:
PHP Api Version: 20121113
Zend Module Api No: 20121212
Zend Extension Api No: 220121212
./configure
make
sudo make install
到这里我们基本就安装完成了,如果成功的话你应该会看到类似的信息
Installing shared extensions: /usr/lib/php/extensions/no-debug-non-zts-20121212/
接下来只需要在/etc/php.ini中加入这个扩展就可以了
extension=mcrypt.so
如果你没有php.ini文件的话你需要执行,如果存在的话省略次步骤
sudo cp /etc/php.ini.default /etc/php.ini
sudo chmod u+w /etc/php.ini
sudo vi /etc/php.ini
再重启apache
sudo apachectl restart
在php中写一个phpinfo()查看一下,如果成功的话应该就可以看到mcrypt扩展了,大家有问题可以联系我,qq731907054