自从安装了新版本的 MAC OS(Mojave)简称 10.14 ,我的 php 拓展就都不能用了,好难过。版本不兼容需要重新编译...
这个自然是难不倒我的,于是:下载扩展源码包、解压后进入文件夹、执行 phpize 报错了
$ 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:
我擦的勒,缺少 PHP 的 header 头文件,再一看/usr/include 文件夹根本不存在,想必是 Xcode command line tools 没有安装完全?
$ xcode-select --install
xcode-select: note: install requested for command line developer tools
静等了一会安装完成,一看 /usr/include
文件夹还是不存在,难道升级系统后 System Integrity Protection
自动打开导致文件写不进?接着执行:
$ csrutil status
System Integrity Protection status: disabled.
SIP 处于禁用状态,于是我就秒懂这个是系统升级的常态,苹果太安全了,于是乎我就重启电脑 command + R 进入恢复模式,打开 terminal 敲入如下命令去解禁
csrutil disable
接着重启电脑后,接着 make,还是不行,我快要疯掉了,我就找各大英文网站去爬这个问题最终我是终于找到了如何去做,只需执行下列命令安装 header 头文件 SDK 即可
$ cd /Library/Developer/CommandLineTools/Packages/
$ open macOS_SDK_headers_for_macOS_10.14.pkg
网上好多地方都说是需要执行
sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include /usr/include
其实装了这个也没有什么鸟用,无论如何都不行,所以按照上述安装完 sdk 我们就可以正常的去用 phpize 了,以上就是解决问题的大概过程,然后一一顺利解决掉所有不兼容的 PHP 扩展,很开心。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于