mac 10.11 phpize 报错问题

插班生小明明
  • 147

新换了电脑,装一下PHP的php-protobuf 框架扩展,遇到一些问题,记录于此。

进入php-protobuf 页面 phpize 如下

grep: /usr/include/php/main/php.h: No such file or directory
grep: /usr/include/php/Zend/zend_modules.h: No such file or directory
grep: /usr/include/php/Zend/zend_extensions.h: No such file or directory
Configuring for:
PHP Api Version:        
Zend Module Api No:     
Zend Extension Api No:  

google之

解决方法:

sudo ln -s
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include/ /usr/include

执行之

ln: /usr/iclude: Operation not permitted

报这个错误

/usr/ 下是没有include 这个文件夹的

还有mkdir include 创建不了文件夹 一样报Operation not permitted

求大神支招

回复
阅读 9.5k
6 个回答

晕死,ls都在说什么,安装command line tool就自动会帮你配置好Unix开发环境的

xcode-select --install
sudo ln -s
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include/ /usr/include

链接失败原因 10.11加强了系统保护 /usr 木有操作权限

解决方法

暂时停用系统保护:

按下开机键时即刻按住 command R(“R”字母键),中间的苹果标志及进度条出现后放开按键,等待恢复安装界面和 “OS X 实用工具”
窗口出现后,点击顶部菜单栏的 “实用工具”,在其下拉菜单点选运行 “终端”,在终端闪动字符的位置直接输入“csrutil disable”
并回车,重新启动电脑。

当然也可以直接用XAMPP 中的phpize

安装好xcode-select后命令行执行下面:

sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /

10.14是你的macos系统版本;
执行成功后就有/usr/include目录了,里面包含了头文件

php环境有问题了 brew重装php试试

找到解决办法了

执行

sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /

/usr/include 就出来了。。。 烦死了 哎

本人系统是macOS 10.15.2,没有安装XCode,只装有CommandLineTools
综合上面的回答和其它地方的资料,我实践成功的方法如下:

# 重启 按 ⌘+R , 菜单栏 > 实用工具 > 终端
csrutil disable
# 重启完成后
# 重新挂载,重要!!! 否则sudo也无法修改`/usr`目录
sudo mount -uw /
# 软链
sudo ln -s /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/ /usr/include
# OK了

可以通过xcode-select -p命令来查看CommandLineTools目录的位置,本人这里显示的位置是/Library/Developer/CommandLineTools, 该目录下共有3个子目录:Library/ SDKs/ usr/

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏