一、背景

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

作者:汤青松

微信:songboy8888

日期:2019-12-03

Mac下使用Pecl安装PHP的Swoole扩展实践的更多相关文章

  1. mac下sublime text3安装SFTP及使用

    mac下sublime text3安装SFTP 1.shift+command+p进入控制面板 2.输入install进入程序安装界面选择需要安装的插件(SFTP) 3.直接进行安装(需要联网) 4. ...

  2. mac 下用 brew 安装mongodb

    转自:mac 下用 brew 安装mongodb 经过这位仁兄的文章指导,终于连上了mongodb. 启动mongo数据库,就是打开一个终端sudo mongod,然后打开另一个终端sudo mong ...

  3. mac下java的安装和升级以及相关环境设置

    安装:brew cask install java8 如果存在多个java,可以设置JAVA_HOME指定java版本 打开终端,执行/usr/libexec/java_home -V 查看MAC下J ...

  4. Mac下的mongodb安装

    mac下的mongodb安装主要有两种方式,一是手工安装,需在官网下载源文件,二是通过homebrew,至于homebrew不做介绍.既然是Mac系统下,我认为直接通过homebrew安装最好,省事还 ...

  5. mac下Spark的安装与使用

    每次接触一个新的知识之前我都抱有恐惧之心,因为总认为自己没有接触到的知识都很高大上,比如上篇介绍到的Hadoop的安装与使用与本篇要介绍的Spark,其实在自己真正琢磨以后才发现本以为高大上的知识其实 ...

  6. Mac下anaconda的安装和基本使用

    Mac下anaconda的安装和基本使用 安装 在conda官网下载安装conda. 打开terminal输入conda -V,回车显示conda的版本说明安装成功. 将conda更新到最新版本 co ...

  7. pecl安装php的ev扩展时的报错处理

    pecl安装php的ev扩展,安装完毕后php.ini中加入扩展extension=ev.so,然后重启php-fpm出现以下报错 PHP Warning:  PHP Startup: Unable ...

  8. Mac 下 PostgreSQL 的安装与使用

    在 mac 下,可以利用 homebrew 直接安装 PostgreSQL: 1 brew install postgresql -v 稍等片刻,PostgreSQL 就安装完成.接下来就是初始数据库 ...

  9. [转] Mac 下 PostgreSQL 的安装与使用

    在 mac 下,可以利用 homebrew 直接安装 PostgreSQL: 1 brew install postgresql -v 稍等片刻,PostgreSQL 就安装完成.接下来就是初始数据库 ...

随机推荐

  1. 8_InlineHook

    1 shellcode低2Gb警告.应使用高2GB 稳定 : 在内核挂钩子: 由于每个进程的低2gb 的数据是不同的:所以 在内核挂钩子 因该把 代码 放在 高 2gb. 方法1(申请): 比如 使用 ...

  2. Java Lambda map返回部分属性

    通过map,返回部分属性. MyUser,作为源数据 MyUserS,作为返回的新数据. @Test public void Test1() { List<MyUser> ulist=ne ...

  3. 数据库MySQL--常见基础命令

    基础命令: 查看所有数据库:show databases; 打开指定的数据库:use 库名: 查看当前库的所有表:show tables; 查看数据库其他库中的表:show tables from 库 ...

  4. (上线时清缓存)laravel 5.1 的程序性能优化(配置文件) - 简书

    代码上到正式环境后执行这六步 php artisan config:clear php artisan config:cache php artisan route:clear php artisan ...

  5. apache 80 端口 反向代理 tomcat 8080端口

    最近有个jsp的项目要放到服务上,但服务器上已经有了XAMPP(apache + mysql + php), 已占用了80端口.但http默认是访问80端口的. 先把tomcat 环境搭建起来, 发现 ...

  6. css悬浮在页面顶端

    .header{ position:fixed; margin-top:; width:%; z-index:; } .body{ position:relative; padding-top:119 ...

  7. JavaScript 数据值校验工具类

    /** * 数据值校验工具类 */ var checkService = { // 不校验 none: function () { return true; }, //非空校验 isEmpty: fu ...

  8. Windows 虚拟机 VM

    VMware是全球台式电脑及资料中心虚拟化解决方案的领导厂商.VMWare Workstation是该公司出品的“虚拟 PC”软件(即:大家常说的“虚拟机”),通过它可在一台电脑上同时运行更多的Mic ...

  9. retired!

    退役啦!估计不会再更新了,终于在大四拿到了icpc,ccpc,省赛,邀请赛金,也算是圆满了!

  10. Helvetic Coding Contest 2018 online mirror (teams allowed, unrated)F3 - Lightsabers (hard)

    题意:n个数字1-m,问取k个组成的set方案数 题解:假设某个数出现k次,那么生成函数为\(1+x+...+x^k\),那么假设第i个数出现ai次,结果就是\(\sum_{i=1}^m(1+x+.. ...