亲测重启后提示yaf.so没有签名,该方法无法用,建议重新安装php,然后覆盖mac自带的版本。
由于mac系统原因,许多系统目录下没有权限进行操作,导致php扩展无法正常安装,本文将以使用phpize安装yaf扩展为例来进行演示说明mac下如何安装php扩展。具体步骤如下:
- 可以在pecl官网搜索下载相关源码,如:yaf-3.2.1.tgz;
- 使用
tar -zxvf yaf-3.2.1.tgz
进行解压,进入解压后的目录; - 使用
xcrun --show-sdk-path
查看mac的头文件目录,我的显示为/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk
; - 由于mac没有/usr/include目录,所以直接使用
phpize
时会提示找不到头文件,因此我们需要将phpize以及php-config文件拷贝到解压后的目录下,命令:cp /usr/bin/phpize .
,cp /usr/bin/php-config .
; - 修改phpize文件的includedir选项的值,修改如下:
# includedir="`eval echo ${prefix}/include`/php"
includedir="`eval echo /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include`/php"
- 修改php-config文件的include_dir选项的值,修改如下:
# include_dir="${prefix}/include/php"
include_dir="`eval echo /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include`/php"
- 执行命令:
./phpize
- 执行命令:
./configure --with-php-config=./php-config
- 执行命令:
make
- 由于目录权限问题,我们无法直接使用
make install
进行安装,要完成安装,首先需要禁用mac的sip(参考mac目录权限问题),然后将yaf.so拷贝到php扩展文件目录:
cp /usr/local/src/yaf-3.2.1/modules/yaf.so /usr/lib/php/extensions/no-debug-non-zts-20180731/
- 在php.ini文件中添加
extension=yaf.so
,然后重启php即可。