摘要:最近更新到最新的系统后,在本地用开发的时候发现苹果自带的被重置了,所以之前的安装的扩展都没了,本来是自带包的,以为安装上包后用能很快把要用的扩展装上。
最近Mac更新到最新的OS X EI captain系统后, 在本地用PHP开发的时候发现苹果自带的PHP被重置了,所以之前的安装的PHP扩展都没了,本来Mac是自带pear包的,以为安装上PEAR包后用PECL能很快把要用的扩展装上。所以我像往常一样运行了如下命令来安装PEAR包
sudo php /usr/lib/php/install-pear-nozlib.phar
但是系统却提示没权限往/usr/lib/文件夹下来写东西,明明是以管理员身份运行的命令却说没有权限写一个目录是不是很奇怪,后来通过在网上搜索知道苹果在最新的系统里采用了 System Integrity Protection (SIP) —— 系统完整性保护技术,SIP 技术主要是用来限制 root 用户的权限,以提升系统的健壮性。具体哪些目录受到保护,可以查看文件
/System/Library/Sandbox/rootless.conf
在Macworld里找到一篇相关文章,里面详细的列出了Mac用户如何禁用SIP,步骤如下图:
具体步骤就是:
重启Mac
在Mac重新启动起来以前按住Command+R键直到出现苹果图标为止
进入后桌面上会问你要恢复Mac还是进行磁盘急救,不用理会,直接在屏幕左上角的菜单栏里依次选择“实用工具-->终端”打开Mac自带的命令行工具
在终端里输入csrutil disable
改完后重启
再进入系统后再安装PEAR就不会报没有写权限的错误了, 当然安装完成后建议把SIP重新启用回来,启用的方法就是把上面的步骤4里的命令替换成csrutil enable
因为我感觉用Mac自带的php还是要比用homebrew安装的php使用起来方便,那个安装完后需要设置很多环境变量才能用,所以希望这篇文章能对因同样问题而头痛的小伙伴有所帮助。
文中有关步骤参考的文章: http://www.macworld.com/article/2986118/security/how-to-modify-system-integrity-protection-in-el-capitan.html
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/21222.html
摘要:然而各自为政的打包方式依赖关系的处理,导致了很难将两个开源项目集成到一起。虽然有这种官方支持的包管理工具,但是依然没有很好的统一的依赖关系管理的办法。项目编译和打包依赖关系的解决都可以很轻松的实现。 简介 现在软件规模越来越大,PHP项目的开发模式和许多年前已经有了很大变化。记得初学PHP那会儿,boblog是一个很好的例子,几乎可以代表PHP项目的开发模式。当时PHP 5.x以上的版...
摘要:如果你也过本来这件事,没啥的。而且必须,而在加了一种保护机制后,已经不被推荐。因为这是安装在系统的,因为新增加的保护机制,会很多限制,之前的很多解决方案,全部不生效。不要用放心你也用不了。这里我之前使用来安装,导致有一个用户的。 如果你也google 过ei capitan ipython mac 本来这件事,没啥的。说白了就是用mac自带的python产生了各种崩溃的事情。但是,确实...
摘要:安装安装相对来说比较麻烦,可能会遇到各种各样的问题。然后升级一下此时可使用命令来安装安装过程中会提示我们输入密码,按照指示运行即可。中文乱码问题在安装完毕后,即使设置表中为后输入中文仍然会出现这样的东西。 安装mysql linux安装mysql相对来说比较麻烦,可能会遇到各种各样的问题。安装方式有两种: 到官网下载安装包 安装包下载地址 下载完成后直接 sudo dpkg -i pa...
阅读 1812·2021-09-22 15:54
阅读 2923·2021-09-01 10:42
阅读 3442·2019-08-30 15:56
阅读 1432·2019-08-29 18:46
阅读 2463·2019-08-29 10:57
阅读 2702·2019-08-28 17:57
阅读 3659·2019-08-23 18:14
阅读 833·2019-08-23 17:03