macOS安装php-redis扩展的注意事项
在macOS上安装php-redis是比较简单的,但是也有可能进入坑里,由于百度到的结果更坑,所以整理一下备用
1 安装redis
官方下载地址 https://redis.io/download 参考官方的说明、安装步骤是 手动下载或者使用终端wget下载tar包 下载完毕后解压并且打开目录
$ cd /User/sprite/Downloads/redis-5.0.5
$ make
安装完毕之后打开终端输入 redis-server 出现redis欢迎界面表示已经安装成功
使用redis-server启动redis服务之后不要关闭终端页面、测试的时候要另外打开一个终端、然后输入redis-cli 否则会报错 无法连接到redis服务器
2 安装phpredis扩展
大杀器 官方文档 phpredis-Github
参考官方的文档,我们可以采用pecl安装、我没有尝试。 使用编译安装的方式
2.1下载官方包到本地
https://github.com/phpredis/phpredis/releases
下载完毕后解压,建议把包转移到其他地方,防止后面清理下载文件夹清理掉。 比如说 我放到了 /Library/PhpExtra/redis-5.0.2 (可以随便放)
2.2 在终端打开这个目录
$ cd /Library/PhpExtra/redis-5.0.2/redis-5.0.2
一定要保证目录下有 configure文件
2.3 使用phpize进行安装
这一步是网上基本都错误的部分 phpize是一个可执行文件,路径一般在/usr/bin/下 如果我们的mac注册了php环境,那么我们直接输入phpize就可以 没有再切换目录的必要。
$ phpize ./configure --with-php-config=/usr/bin/php-config
如果这一步的时候,无法找到phpize我们再使用绝对路径来定位
$ /usr/bin/phpize ./configure --with-php-config=/usr/bin/php-config
可能发生的问题:
1.Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF environment variable.Then, rerun this script.
brew install autoconf
2.mac phpize执行后报错:grep: /usr/include/php/main/php.h: No such file or directory
3.make: *** No targets specified and no makefile found.
如果phpize这一步成功了,不报错了。仍然有可能无法安装。比如说我就是这样。
无奈,尝试使用pecl方式安装。
一番折腾。 发现还是搞不定。 最终发现了是自己在2.3的步骤时候有错误。
划重点:
$ cd /Library/PhpExtra/redis-5.0.2/redis-5.0.2 # 切换到你解压的目录
$ phpize
Configuring for: PHP Api Version: 20160303 Zend Module Api No: 20160303 Zend Extension Api No: 320160303
这一步看不到版本号的,看上面错误参考2
$ ./configure
... configure: creating ./config.status config.status: creating config.h
$ make
... Build complete. Don't forget to run 'make test'.
$ make install
... Installing shared extensions: /usr/lib/php/extensions/no-debug-non-zts-20160303/
最后一步会告诉你 扩展安装到了哪里,复制下来 去php的配置文件中添加
php.ini一般在 /etc/php.ini 如果你没有就复制一个 php.ini.default出来 最后加上:
extension_dir="/usr/lib/php/extensions/no-debug-non-zts-20160303"
extension=redis.so
保存重启apache
sudo apachectl restart
相关文章
- 在 Go 里用 CGO?这 7 个问题你要关注!
- 9款优秀的去中心化通讯软件 Matrix 的客户端
- 求职数据分析,项目经验该怎么写
- 在OKR中,我看到了数据驱动业务的未来
- 火山引擎云原生大数据在金融行业的实践
- OpenHarmony富设备移植指南(二)—从postmarketOS获取移植资源
- 《数据成熟度指数》报告:64%的企业领袖认为大多数员工“不懂数据”
- OpenHarmony 小型系统兼容性测试指南
- 肯睿中国(Cloudera):2023年企业数字战略三大趋势预测
- 适用于 Linux 的十大命令行游戏
- GNOME 截图工具的新旧截图方式
- System76 即将推出的 COSMIC 桌面正在酝酿大变化
- 2GB 内存 8GB 存储即可流畅运行,Windows 11 极致精简版系统 Tiny11 发布
- 迎接 ecode:一个即将推出的具有全新图形用户界面框架的现代、轻量级代码编辑器
- loongarch架构介绍(三)—地址翻译
- Go 语言怎么解决编译器错误“err is shadowed during return”?
- 敏捷:可能被开发人员遗忘的部分
- Denodo预测2023年数据管理和分析的未来
- 利用数据推动可持续发展
- 在 Vue3 中实现 React 原生 Hooks(useState、useEffect),深入理解 React Hooks 的