mac 下 使用pecl安装php扩展
pecl的安装
这里安装了brew,直接使用
brew install pecl
pecl install 碰到的问题
- 报错make过程中找不到php.h头文件
sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
命令等待时间有点长,第一次以为没反应关掉了,多等一会儿
或者安装xcode建立后建立软链接指向xcode内的phpSDK命令如下
d /Applications/MAMP/bin/php/php5.6.10`
ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.3.sdk/usr/include/ include
- make通过后 Operation not permitted问题
由于mac更新后,是El Capitan 加入了Rootless机制,不再能够随心所欲的读写很多路径下了。设置 root 权限也不行
重启之后按住 Command+R,直到看见?的logo和进度条,就是进入恢复模式,打开窗口上面的终端,输入csrutil disable。重启即可。如果要恢复默认,那么 输入csrutil enable。
phpize安装扩展
进入到扩展源码目录下
正常在ext/下 ,不存在可下载一份php源码进入
这里用curl举例
新的源码目录 为 $PWD/php
cd ./php/ext/curl
/usr/local/php/bin/phpize
会在curl扩展目录下根据当前php环境生成可执行configure文件
后续就是配置编译安装
./configure 、make 、make install
会生成 .so文件即为动态库 放在extension_dir内在php.ini内开启扩展即可
修改php.ini结束
复制模版文件后修改命令如下
sudo cp /private/etc/php.ini.default /private/etc/php.ini
cd /private/etc/php.ini
因为是只读文件
sudo vi php.ini 修改
wq!退出