分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 教程案例

Mac OS Sierra 安装PHP扩展 Operation not permitted

发布时间:2023-09-06 01:07责任编辑:沈小雨关键词:PHP

想看详细解读的可以 点这里  只需要解决问题直接往下看就好

---------------------------------------------------分 割 线-------------------------------------------------------

Mac OS Sierra 安装PHP扩展,在make install 的时候,出现类似

cp: /usr/lib/php/extensions/no-debug-non-zts-20131226/#INST@12567#: Operation not permittedmake: *** [install-modules] Error 1

的错误,是因为是OSX 10.11 El Capitan开始,新添加了一个新的安全机制叫系统完整性保护System Integrity Protection (SIP),所以对于目录
/System
/sbin
/usr
不包含(/usr/local/)
仅仅供系统使用,其它用户或者程序无法直接使用,而我们的/usr/lib/php/extensions/刚好在受保护范围内。

解决办法是

禁掉SIP保护机制:

  1. 重启系统
  2. 按住Command + R   (重新亮屏之后就开始按,象征地按几秒再松开,出现苹果标志,ok)
  3. 菜单“实用工具” ==>> “终端” ==>> 输入csrutil disable;执行后会输出:Successfully disabled System Integrity Protection. Please restart the machine for the changes to take effect.
  4. 重启系统

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

另附Mac OS 给PHP安装Redis扩展流程:

curl -O https://nodeload.github.com/nicolasff/phpredis/zip/master ?tar -zxf master ?cd phpredis-master/ ?phpize ?./configure ?make ?sudo make install ?# 提示 /usr/lib/php/extensions/no-debug-non-zts-xxxxxxxxx/ 表示成功 ?vim /etc/php.ini ???(如果没有,那就复制一份/etc/php.ini.default之类的并重命名) ?# 添加下面这句话,告诉PHP要启用Redis扩展,保存文件 ?extension=redis.so ?#重启apache ?sudo apachectl restart ?#查看扩展安装情况,出现 redis 表示安装成功。或者看phpinfo() ?php -m |grep redis 

另外:我出现过一个比较蹩脚的问题:

php -m |grep redis 查看确实安装了Redis扩展,但 phpinfo 中却没有,当然启动项目也是不支持Redis的(tp3.2),以上流程检查了好几遍搞了好久都不行,后来
php -i 发现终端中查看的PHP安装路径和我修改的php.ini路径根本就不同,所以说 Apache 启用的根本就不是我安装了扩展的 php ,而是我系统中安装的另一个php。
说来这个问题也怪自己,系统自带一个php,用homebrew安装了两个版本php,通过命令行直接有安装了一个php,不乱套才怪,后来删除了 homebrew安装的PHP,使用了系统自带的,
再次进行以上操作,问题解决。
推荐一个切换PHP版本的:macOS Sierra上安装Apache和多个版本的PHP切换 ?讲得很全面了。

Mac OS Sierra 安装PHP扩展 Operation not permitted

原文地址:http://www.cnblogs.com/GetLastError/p/7605133.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved