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安全开发实战》,现已在各大平台上架销售,封面如下图所示


目录
相关文章
|
22天前
|
存储 关系型数据库 MySQL
mysql安装教程mac
【4月更文挑战第21天】
|
2天前
|
PHP
PHP 7.4中新增特性的探索与实践
【5月更文挑战第12天】本文主要探讨了PHP 7.4中的一些新特性,包括箭头函数、预加载优化、数组表达式间接访问等。通过对这些新特性的深入理解和实践应用,可以帮助我们编写出更高效、更简洁的代码。
|
4天前
|
NoSQL Redis Docker
Mac上轻松几步搞定Docker与Redis安装:从下载安装到容器运行实测全程指南
Mac上轻松几步搞定Docker与Redis安装:从下载安装到容器运行实测全程指南
16 0
|
5天前
mac10.9安装win7
mac10.9安装win7
|
5天前
|
安全 Java iOS开发
MAC OS X 硬盘安装详细分解教程
MAC OS X 硬盘安装详细分解教程
13 1
|
5天前
|
IDE 5G 开发工具
HP4230s笔记本安装mac os总结(原创)
HP4230s笔记本安装mac os总结(原创)
|
5天前
|
编解码 Oracle iOS开发
VirtualBox虚拟机安装Mac OS X Lion系统详解
VirtualBox虚拟机安装Mac OS X Lion系统详解
10 1
|
8天前
|
存储 缓存 自然语言处理
深入PHP内核:理解OPcache的工作原理与优化实践
【5月更文挑战第6天】 在现代Web开发中,提升性能和响应速度是持续追求的目标。PHP作为一种广泛使用的服务端脚本语言,其执行效率至关重要。本文将深入探索PHP的OPcache(优化器缓存)组件,解析其如何改善PHP的性能表现。通过剖析OPcache的工作机制,我们将讨论有效的配置策略以及实践中的最佳优化方法,旨在帮助开发者充分理解并利用OPcache来提升应用性能。
|
14天前
|
编译器 API PHP
深入PHP扩展开发:打造高效自定义模块
【4月更文挑战第30天】 在追求性能优化和特定功能实现的道路上,PHP提供了一种强大机制——扩展。本文将引导读者通过编写一个简单的PHP扩展来探索扩展开发的世界。我们将涉及从环境搭建到代码实现,再到扩展的编译与加载的完整流程,确保读者能够理解并实践如何创建高效的自定义PHP模块。
|
14天前
|
网络协议 数据可视化 Shell
最详细的Mac下安装nacos教程来了
最详细的Mac下安装nacos教程来了