OS X EI Capitan安装mcrypt
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 |
安装libmcrypt
1 |
cd libmcrypt-2.5.8 |
安装autoconf
1 |
cd ~/mcrypt |
编译mcrypt的php扩展
1 |
cd ../php-5.5.27/ext/mcrypt/ |
上面会输出:
1 |
Configuring for: |
接着编译:
1 |
./configure |
上面会输出:
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的更多相关文章
- 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, ...
- 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 ...
- 不能安装这个“安装 OS X EI Capitan”应用程序副本不能验证” 的解决办法
不能安装这个“安装 OS X EI Capitan”应用程序副本不能验证.它在下载过程中可能已遭破坏或篡改. 解决办法:修改系统时间. 1,查看你的dmg文件的创建日期 2,把你的系统日期修改到比这个 ...
- OS X EI Capitan 10.11.1快速升级方法介绍
公告:本文纯粹是给国内小水管用户而写的,如果你们家网络是100M光线那么就不需要看本文了! 一句话概要本文:在本地山寨从App store服务器上下载安装包的动作! 导读:OS X EI Capita ...
- 最详细的制作正式版10.11 OS X El Capitan 安装U盘的方法
原帖地址:http://bbs.feng.com/read-htm-tid-10036487.html 一.准备工作: 1.准备一个 8GB 或以上容量的 U 盘,确保里面的数据已经妥善备份好(该过程 ...
- 如何关闭 Mac OS X EI Capitan 系统文件保护
在修改 Mac OS X EI Capitan 系统的某些系统文件的过程中,你可能会遇到即使你加了 sudo 以管理员身份去操作页会被拒绝, 这是一个名为 SIP(System Integrity P ...
- 制作正式版10.11 OS X El Capitan 安装U盘(优盘)
一.准备工作:1.准备一个 8GB 或以上容量的 U 盘,确保里面的数据已经妥善备份好(该过程会抹掉 U 盘全部数据)2.从官网Appstore下载下来的 “安装 OS X El Capitan”,当 ...
- OS X EI Capitan 10.11.4中sudo无法起作用的解决方法
mac升级到OSX EI Capitan 10.11.4后sudo命令无法起作用,执行任何操作总是显示Operation denied.这是因为在10.11.4中引入了Rootless机制,即就算是R ...
- Xcode8.0 / OS X EI Capitan 10.11.6 提交报错90111
改用新系统和新版xcode(都是正式版)后,提交App Store审核时报错: INFO ITMS-90111: "Beta Toolchain. 构建新的 App 和App 更新时,必须使 ...
随机推荐
- LeetCode33 Search in Rotated Sorted Array
题目: Suppose a sorted array is rotated at some pivot unknown to you beforehand. (i.e., 0 1 2 4 5 6 7 ...
- c#删除转义字符的方法,删除\0后所有字符串(菜鸟级别)
string str = "78738\01212"; string str_2= Regex.Unescape(str); int index = str_2.IndexOf(& ...
- 总结 IOS 7 内存管理
[iOS7的一些总结].iOS中的内存管理 我们知道,为了更加方便地处理内存管理问题,将开发人员从繁琐的内存的分配和释放工作中解放出来而专注于产品和逻辑,iOS提供了一种有效的方法, 即自动引用计数A ...
- UITableView加载显示更多内容
#import <UIKit/UIKit.h> @interface ViewController : UIViewController @end #import "ViewCo ...
- Java快速入门
Java 是什么? Java 的特点: 面向对象 平台无关(跨平台): 简单 安全 体系结构 - 中性 可移植 健壮 多线程 解释型 高性能 分布式 动态 Java环境设置: Java SE可免费提供 ...
- 安装TortoiseGit出现提示“您必须安装带有更新版本Windows Installer服务的Windows Service Pack”-解决方法
我的系统是xp sp3安装TortoiseGit时出现了错误提示“您必须安装带有更新版本Windows Installer服务的Windows Service Pack”. 解决方法,到微软官方下载相 ...
- Android开发——实现固定在ScrollView顶部的View,类似于新浪微博的评论列表的顶部
现在很多App都实现了这个功能,例如新浪微博评论页面的评论.转发.赞的数字可以固定在屏幕上方.我个人很喜欢这种设计,所以利用一点空余时间简单实现了一个类似的功能. 先来看一下上面这张图的效果 这个是新 ...
- Android隐藏状态栏实现沉浸式体验
转自: Android状态栏微技巧,带你真正理解沉浸式模式 什么叫沉浸式? 根据百度百科上的定义,沉浸式就是要给用户提供完全沉浸的体验,使用户有一种置身于虚拟世界之中的感觉. 那么对应到Android ...
- Hive编程(影印版)
<Hive编程(影印版)> 基本信息 原书名:Programming Hive 作者: Edward Capriolo Dean Wampler Jason Rutherglen 出版社: ...
- jQuery:节点(插入,复制,替换,删除)操作
<html> <head> <meta http-equiv="Content-Type" content="text/html; char ...