Mac下使用pecl安装PHP的swoole扩展实践

简介: 我记得之前用brew安装的PHP,再使用pecl很方便就可以安装swoole,于是我把自带的PHP卸载然后重新使用brew安装,并且安装了pecl,在通过pecl安装了swoole扩展,把这个安装过程记录下来,方便下次使用吧

一、背景


前段时间把Mac系统重装了,PHP的一些扩展都没了,昨天需要调试一个swoole开发的项目,发现命令行中的PHP是系统自带的,如果安装swoole扩展很不方便;需要自己手动去下载swoole的源码,然后去编译swoole的源码,并自己配置,整个过程非常繁琐;


我记得之前用brew安装的PHP,再使用pecl很方便就可以安装swoole,于是我把自带的PHP卸载然后重新使用brew安装,并且安装了pecl,在通过pecl安装了swoole扩展,把这个安装过程记录下来,方便下次使用吧


二、操作概要


  1. 卸载自带软件
  2. 重新安装软件
  3. 验证swoole扩展


三、卸载自带软件


之前Mac系统升级到10.15 catalina 版本,发现在卸载自带PHP的时候提示Read-only file system,网上找了一下解决方法是需要关闭系统的sip,然后才可以删除一些文件,执行的命令如下所示


sudo mount -uw /


命令执行之后,返回的信息如下图所示


在上图中可以看到命令已经执行成功,接着我们就可以删除自带的PHP,我们首先要找出自带PHP的位置,查看PHP位置命令如下所示


which php


命令执行之后,返回的信息如下图所示


在上图中可以看到返回了一个PHP的路径,我们将它删除即可,删除自带的PHP的命令如下所示


sudo rm -rf /usr/local/bin/php


命令执行之后,返回的信息如下图所示


在上图中可以看到rm命令没有提示异常,说明删除自带的PHP已经成功。


为了防止我们之前使用brew安装过老版本的PHP,我们也尝试卸载brew安装的PHP版本,卸载brew安装的PHP老版本命令如下所示


这一步骤不是必须的,但为了防止安装过程当中产生意外问题,所以可以的话就卸载,不卸载也可以直接跳到安装pecl步骤中


brew uninstall php


命令执行之后,返回的信息如下图所示


在上图中可以看到已经成功卸载了brew安装的PHP版本


四、重新安装


我们使用brew命令来安装PHP的新版本,brew本身也是需要安装的,但相信大家已经安装过了,使用brew安装php命令如下所示


brew install php


命令执行之后,返回的信息如下图所示


在上图中可以看到安装的PHP版本为7.3,也显示了PHP的安装位置,说明我们已经安装成功了。


接下来我们安装pecl,首先需要去php的官网下载pecl的安装包,执行命令如下所示


wget http://pear.php.net/go-pear.phar


命令执行之后,返回的信息如下图所示


在上图中可以看到已经将安装包下载完成,接下来我们使用PHP执行此安装包即可,执行命令如下所示


sudo php go-pear.phar


命令执行之后,返回的信息如下图所示


在上图中可以看到pecl已经安装完成,现在我们就可以使用pecl安装swoole了,执行命令如下所示


pecl install swoole


这条命令会有一个编译的过程,执行的时间有点长,在命令执行之后,返回的信息如下图所示


在上图中可以看到已经执行成功,并且自动将swoole扩展安装到了PHP的扩展目录,并添加到了配置文件当中。


五、验证swoole扩展


在swoole安装完成之后,我们可以通过下面两种方式来验证安装的可用性,首先是通过查看php安装的扩展模块命令,看看是否显示了swoole,执行命令如下所示


php -m


命令执行之后,返回的信息如下图所示


在上图中可以看到返回了swoole,说明php安装了swoole模块,我们接着找一个依赖swoole的项目,我这里有一个用laravel开发的项目需要一来到swoole,启动命令如下所示


php artisan laravels start


命令执行之后,返回的信息如下图所示


在上图中可以看到显示了PHP和swoole的版本信息,到此说明我们整个安装过程已经完成了


六、 图书推荐


如果对笔者的实践文章较为感兴趣,可以关注笔者出版社《PHP Web安全开发实战》,现已在各大平台上架销售,封面如下图所示


目录
相关文章
|
1月前
|
消息中间件 NoSQL 调度
温故而知新,PHP Swoole使用过程中的一些思考
本文回顾了异步任务处理、进程与协程调度机制、Redis与消息队列的应用、Swoole协程原理等内容,探讨了CPU时间片分配、IO阻塞、协程切换等关键技术问题,适用于高并发场景下的性能优化与系统设计。
|
2月前
|
JavaScript Linux PHP
composer如何安装以及举例在PHP项目中使用Composer安装TCPDF库-优雅草卓伊凡
composer如何安装以及举例在PHP项目中使用Composer安装TCPDF库-优雅草卓伊凡
125 3
composer如何安装以及举例在PHP项目中使用Composer安装TCPDF库-优雅草卓伊凡
|
3月前
|
自然语言处理 测试技术 API
TCPDF库详解:功能、作用及多语言安装指南-tcpdf可不是只有php能用-优雅草卓伊凡
TCPDF库详解:功能、作用及多语言安装指南-tcpdf可不是只有php能用-优雅草卓伊凡
348 5
|
4月前
|
存储 消息中间件 前端开发
PHP后端与uni-app前端协同的校园圈子系统:校园社交场景的跨端开发实践
校园圈子系统校园论坛小程序采用uni-app前端框架,支持多端运行,结合PHP后端(如ThinkPHP/Laravel),实现用户认证、社交关系管理、动态发布与实时聊天功能。前端通过组件化开发和uni.request与后端交互,后端提供RESTful API处理业务逻辑并存储数据于MySQL。同时引入Redis缓存热点数据,RabbitMQ处理异步任务,优化系统性能。核心功能包括JWT身份验证、好友系统、WebSocket实时聊天及活动管理,确保高效稳定的用户体验。
285 4
PHP后端与uni-app前端协同的校园圈子系统:校园社交场景的跨端开发实践
|
3月前
|
安全 API PHP
Composer在现代PHP项目中的进阶实践
简介:本文深入探讨PHP依赖管理工具Composer的核心功能与企业实践。首先介绍其如何通过`composer.json`实现声明式依赖管理,变革PHP生态;接着解析自动加载优化、版本策略(如`~`和`^`)及私有仓库集成等关键特性;然后分享CI/CD集成、多环境配置与性能优化技巧(如阿里云镜像加速)的企业级方案;最后提供常见问题排查方法,如内存不足和依赖冲突解决,助力开发者高效管理项目依赖。
84 3
|
5月前
|
前端开发 API PHP
PHP网编程:guzzle的鉴权和异步操作实践。
Guzzle是一个强大且灵活的HTTP客户端库,它可以方便地发送HTTP请求,并且其对异步请求和各类鉴权方式的支持使其成为处理HTTP请求的理想工具。你需要了解和掌握Guzzle的异步操作并发请求和鉴权方式,以便在实际的开发中得心应手地处理HTTP请求。
160 13
|
5月前
|
Ubuntu Linux PHP
利用PHP压缩音频:Linux环境下的ffmpeg简易安装指南
希望这个指南能为你的编程之旅提供帮助。只需记住,每一行代码都像音乐的音符,组合在一起,创造出美妙的旋律。祝你编程愉快!
191 6
|
7月前
|
监控 Linux PHP
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
197 20
|
PHP
PHP——oneinstack重新安装PHP的时候报错
PHP——oneinstack重新安装PHP的时候报错
153 4
|
PHP
PHP——安装ThinkPHP框架报错
PHP——安装ThinkPHP框架报错
135 0