关于mac 10.11 EI Capitan 没有安装mcryp

2016-04-15  本文已影响0人  风中小熊

因为我一直是使用的mac工作环境,MAMP PRO 3.5,是我使用的mac下最方便的php集成环境,但是今天安装laravel时候出现了一些问题,因为laravel需要composer进行install,需要mcrypt环境扩展,总是提示没有安装mcrypt扩展。

查看MAMP PRO环境phpinfo() 发现已经安装过

但是就是提示不成功,没有安装扩展,然后又检查了一遍composer,也没有问题

突然想起来mac系统自带的php环境。于是直接php-v一下 输出

果然,于是在网上找到了这一篇帖子

https://coolestguidesontheplanet.com/install-mcrypt-for-php-on-mac-osx-10-10-yosemite-for-a-development-server/

这里我也大概的说一下使用方式

打开命令行后首先安装Command line tools

xcode-select --install

完成后建立一个文件夹,下载所需要的libmcrypt以及php更新,具体地址Getlibmcrypt 2.5.8from Sourceforge,php的话Get thephpcode in atar.gz or .bz2format-

教程上说(version 5.5.27 is the one that currently ships with OSX 10.11) 所以就下载了5.5.27

Move both of these files that you downloaded into your working directory –mcryptin this instance, and go back to Terminal

cd ~/mcrypt

Expand both files via the command line or just double click them in the Finder:

tar -zxvf libmcrypt-2.5.8.tar.gz

tar -zxvf php-5.5.27.tar.gz

Remove the compressed archives

rm *.gz

Any errors on the command line including C++ and g++ mostly are due to the command line tools missing.

Configuring libmcrypt

Change directory into libmcrypt

cd libmcrypt-2.5.8

Libmcrypt needs to be configured, enter

./configure

make

sudo make install

With the libmcrypt configured and libraries now installed, time for to make the mcrypt extension.

Install Autoconf

Installautoconf– some more Terminal heavy lifting:

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

Compile mcrypt php Extension

cd ../php-5.5.27/ext/mcrypt/

/usr/bin/phpize

Output should be similar to:

Configuring for:

PHP Api Version: 20121113

Zend Module Api No: 20121212

Zend Extension Api No: 220121212

./configure

make

sudo make install

The result of this should be similar to:

Installing shared extensions:  /usr/lib/php/extensions/no-debug-non-zts-20121212/

If you got an error like below then you need to disableSIP.

cp:/usr/lib/php/extensions/no-debug-non-zts-20121212/#INST@17000#: Operation not permitted

Enabling mcrypt.so  php Extension

Open/etc/php.iniand add the line below at the end

extension=mcrypt.so

If there is nophp.inifile,  then you need to make one from php.ini.default in the same location like so:

sudo cp /etc/php.ini.default /etc/php.ini

And allow write capability

sudo chmod u+w  /etc/php.ini

Then add the line as above in your favourite text editor:

sudo nano /etc/php.ini

or

sudo vi /etc/php.ini

make sure dynamic extensions are set to on…

extension_dl = On

and add in the line:

extension=mcrypt.so

Restart Apache

sudo apachectl restart

That’s it, create a php page with the functionphpinfo();to see if it loaded correctly.

If it didn’t load you may need to declare the extensions directory in /etc/php.ini

extension_dir = "/usr/lib/php/extensions/no-debug-non-zts-20100525/"

正在上传...取消重新上传

Hopefully it wasn’t too much of a nightmare…

上一篇下一篇

猜你喜欢

热点阅读