最近因为brew放弃了taphomebrew-php,所以不能再使用brewinstallphp70-xxx来安装extensions,只好采用下载源码编译的形式来安装。第一步是下载源代码php。所有扩展源码都可以在pecl.php.net找到安装redis扩展的例子wgethttps://pecl.php.net/get/redis-4.0.1.tgz第二步解压源码压缩包tar-zxvfredis-4.0.1.tgz解压后进入源码目录cdredis-4.0.1第三步执行phpize(phpize命令用于准备PHP扩展库的编译环境)然后执行./configure这里如果要安装扩展到目录,有个参数很重要--with-php-config=/usr/local/opt/php@7.1/bin/php-configphp-config记录了php.ini中的相关配置,其中有个extension-dir配置指定了PHP的扩展目录,这样扩展编译完成后会安装在这个目录下,只有这种方式安装的扩展需要在php.ini中配置extension=redis.so。第四步执行./configure--with-php-config=/usr/local/opt/php@7.1/bin/php-config第五步执行make开始编译。第六步,执行makeinstall。通常情况下,redis.so会安装在php.ini中配置的extension-dir中(如果第四步指定了php-config)。在ini配置中启用配置extension=redis.so。如果没有,您需要自己填写。最后记得重启php进程编译安装出现问题。安装mongodb扩展执行make时出现“'openssl/sha.h'filenotfound”的错误,说明没有找到openssl的库文件。确认本地安装了openssl后,按照网上找到的解决方案,在/usr/local/include->/usr/local/opt/openssl@1.1/include/opens建立软链接sl/sha.h错误消失了,但出现了其他错误。编译还依赖openssl的其他库文件,气死我了,直接把整个/usr/local/opt/openssl@/include/openssl目录复制到mongodb源码文件中。cp-R/usr/local/opt/openssl@/include/openssl~/java/mongodb-1.4.2/include当时在include目录下执行的结果猜猜是什么?编译通过!GoGoGo~~但是安装后发现xdebug无法正常使用。安装后出现报错PHPWarning:XdebugMUSTbeloadedasaZendextensioninUnknownonline0解决办法是xdebug是一个Zend扩展。在php.ini中打开,需要使用zend_extension=xdebug.so而不是extension=xdebug.so
