OS X EI Capitan安装mcrypt

 
 
12月 01, 2015 发布在 php扩展

mac操作系统升级到10.11.2(OS X EI Capitan)后,系统自带的php也被修改覆盖了;之前安装的php扩展全无法继续使用了;而mcrypt扩展急需使用,可是怎么安装都无法安装成功;困扰了好久。编译后执行安装时总是提示

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

终于找到了问题所在

什么鬼

当你进入/usr/lib/php/extensions/目录时你会发现目录根本无法操作(手动拷贝、移动),使用root在终端也没有权限;可是不可能啊?我已经是root用户了,为什么还不允许;原来是OSX 10.11 El Capitan新添加了一个新的安全机制叫系统完整性保护System Integrity Protection (SIP),所以对于目录

  • /System
  • /sbin
  • /usr
  • 不包含(/usr/local/)

仅仅供系统使用,其它用户或者程序无法直接使用,而我们的/usr/lib/php/extensions/刚好在受保护范围内

禁SIP

所以解决方法就是禁掉SIP保护机制,步骤是:

  • 重启系统
  • 按住Command + R
  • 菜单“实用工具” ==>> “终端” ==>> 输入csrutil disable;执行后会输出:Successfully disabled System Integrity Protection. Please restart the machine for the changes to take effect.
  • 再次重启系统

禁止掉SIP后,就可以顺利的安装了,当然装完了以后你可以重新打开SIP,方法同上,只是命令是csrutil enable

完整安装

1
cd ~ ; mkdir mcrypt ; cd mcrypt

分别下载
libmcrypt2.5.8你系统的php版本到mcrypt目录

解压

1
tar -zxvf libmcrypt-2.5.8.tar.gz
tar -zxvf php-5.5.27.tar.gz
rm *.gz

安装libmcrypt

1
cd libmcrypt-2.5.8
./configure
make
sudo make install

安装autoconf

1
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扩展

1
cd ../php-5.5.27/ext/mcrypt/
/usr/bin/phpize

上面会输出:

1
Configuring for:
PHP Api Version: 20121113
Zend Module Api No: 20121212
Zend Extension Api No: 220121212

接着编译:

1
./configure
make
sudo make install

上面会输出:

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

如果出现错误(我遇到的):

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

就说明你需要先禁掉SIP(如何禁掉SIP见上面)

修改/etc/php.ini,增加扩展extension=mcrypt.so

再重启apache

1
sudo apachectl restart

再看你的phpinfo();就会出现mcrypt信息了;

(我的博客原文:http://www.jmolboy.com/2015/12/01/mcrypt-extension-on-EI-Capitan/)

OS X EI Capitan安装mcrypt的更多相关文章

  1. OS X EI Capitan安装refind时出现Could not set boot device property: 0xe00002bc

    参考:terminal - OSX 10.11 El Capitan - setting boot device property not working ... 解决办法: 1.重启MacMini, ...

  2. OS X EI Capitan 安装mysql-5.7.9

    先去下载mysql-5.7.9-osx10.9-x86_64.dmg安装(一直下一步,输入密码即可)mysql-5.7.9-osx10.9-x86_64.pkg好了,启动MySQL服务. Untitl ...

  3. 不能安装这个“安装 OS X EI Capitan”应用程序副本不能验证” 的解决办法

    不能安装这个“安装 OS X EI Capitan”应用程序副本不能验证.它在下载过程中可能已遭破坏或篡改. 解决办法:修改系统时间. 1,查看你的dmg文件的创建日期 2,把你的系统日期修改到比这个 ...

  4. OS X EI Capitan 10.11.1快速升级方法介绍

    公告:本文纯粹是给国内小水管用户而写的,如果你们家网络是100M光线那么就不需要看本文了! 一句话概要本文:在本地山寨从App store服务器上下载安装包的动作! 导读:OS X EI Capita ...

  5. 最详细的制作正式版10.11 OS X El Capitan 安装U盘的方法

    原帖地址:http://bbs.feng.com/read-htm-tid-10036487.html 一.准备工作: 1.准备一个 8GB 或以上容量的 U 盘,确保里面的数据已经妥善备份好(该过程 ...

  6. 如何关闭 Mac OS X EI Capitan 系统文件保护

    在修改 Mac OS X EI Capitan 系统的某些系统文件的过程中,你可能会遇到即使你加了 sudo 以管理员身份去操作页会被拒绝, 这是一个名为 SIP(System Integrity P ...

  7. 制作正式版10.11 OS X El Capitan 安装U盘(优盘)

    一.准备工作:1.准备一个 8GB 或以上容量的 U 盘,确保里面的数据已经妥善备份好(该过程会抹掉 U 盘全部数据)2.从官网Appstore下载下来的 “安装 OS X El Capitan”,当 ...

  8. OS X EI Capitan 10.11.4中sudo无法起作用的解决方法

    mac升级到OSX EI Capitan 10.11.4后sudo命令无法起作用,执行任何操作总是显示Operation denied.这是因为在10.11.4中引入了Rootless机制,即就算是R ...

  9. Xcode8.0 / OS X EI Capitan 10.11.6 提交报错90111

    改用新系统和新版xcode(都是正式版)后,提交App Store审核时报错: INFO ITMS-90111: "Beta Toolchain. 构建新的 App 和App 更新时,必须使 ...

随机推荐

  1. 从 SDWebImage 谈如何为开源软件做贡献

    来源:伯乐在线 - 酷酷的哀殿 链接:http://ios.jobbole.com/89483/ 点击 → 申请加入伯乐在线专栏作者 从 SDWebImage 谈如何为开源软件做贡献 相识 – 知我者 ...

  2. jquery . fancybox()

    1.父页面 function chooseTopic(btn) {//选择议题 $.fancybox({ type : 'iframe', href : '', fitToView : false, ...

  3. MyBatis优化技巧

    ☬配置日志文件 封装工具类 代码贴一下: package com.shxt.utils; import java.io.InputStream; import org.apache.ibatis.io ...

  4. Android动画 interpolator的用法

    1. <?xml version="1.0" encoding="utf-8"?> 2. <set 3. xmlns:Android=&quo ...

  5. ASP.NET通过byte正确安全的判断上传文件格式

    本文介绍一种更安全的方式上传图片,他能有效的防止一些通过修改文件后缀或MIME来伪造的图片的上传,从而保证服务器的安全,希望对大家有所帮助. ASP.NET中在判断文件格式时,我们以前常用的方法就是通 ...

  6. Android小项目之十二 设置中心的界面

    ------- 源自梦想.永远是你IT事业的好友.只是勇敢地说出我学到! ---------- 按惯例,写在前面的:可能在学习Android的过程中,大家会和我一样,学习过大量的基础知识,很多的知识点 ...

  7. JAX-WS开发WebService程序

    近来公司里要用的到WebService做开发,所以就自己学习了一下,刚开始感觉挺难的,但是真正学会以后,原来这么简单. 今天把这些东西哦记下来,以便日后的复习. 我来介绍一下我的开发环境:Eclips ...

  8. VMware系统运维(十五)部署虚拟化桌面Horizon View Manager 5.2添加vCenter Server服务器

    1.点击"添加...",进入到"添加vCenter Server"界面,输入服务器的IP地址,用户名密码,点击"下一步" 2.设置View ...

  9. rpm build error: invalid predicate

    rpm build error error message:/usr/lib/rpm/find-debuginfo.sh /usr/src/redhat/BUILD/RPMS find: invali ...

  10. first集合及follow集合

    前面那片文章生成的语法分析表并不是最优的,因为有些项在遇到错误输入的时候,并不是采取报错,而是执行规约,直到不能再规约的时候才报错.这是不科学的,我们需要在得到错误输入的时候立马报错,为了实现这个功能 ...