Mac 下使用 pecl 安裝 PHP 的 swoole 擴充套件實踐

湯青松發表於2019-12-03

一、背景

前段時間把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 /

命令執行之後,返回的資訊如下圖所示

image

在上圖中可以看到命令已經執行成功,接著我們就可以刪除自帶的PHP,我們首先要找出自帶PHP的位置,檢視PHP位置命令如下所示

which php

命令執行之後,返回的資訊如下圖所示
image
在上圖中可以看到返回了一個PHP的路徑,我們將它刪除即可,刪除自帶的PHP的命令如下所示

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

命令執行之後,返回的資訊如下圖所示
image
在上圖中可以看到rm命令沒有提示異常,說明刪除自帶的PHP已經成功。

為了防止我們之前使用brew安裝過老版本的PHP,我們也嘗試解除安裝brew安裝的PHP版本,解除安裝brew安裝的PHP老版本命令如下所示

這一步驟不是必須的,但為了防止安裝過程當中產生意外問題,所以可以的話就解除安裝,不解除安裝也可以直接跳到安裝pecl步驟中

brew uninstall php

命令執行之後,返回的資訊如下圖所示
image
在上圖中可以看到已經成功解除安裝了brew安裝的PHP版本

四、重新安裝

我們使用brew命令來安裝PHP的新版本,brew本身也是需要安裝的,但相信大家已經安裝過了,使用brew安裝php命令如下所示

brew install php

命令執行之後,返回的資訊如下圖所示

image

在上圖中可以看到安裝的PHP版本為7.3,也顯示了PHP的安裝位置,說明我們已經安裝成功了。

接下來我們安裝pecl,首先需要去php的官網下載pecl的安裝包,執行命令如下所示

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

命令執行之後,返回的資訊如下圖所示

image

在上圖中可以看到已經將安裝包下載完成,接下來我們使用PHP執行此安裝包即可,執行命令如下所示

sudo php go-pear.phar

命令執行之後,返回的資訊如下圖所示

image

在上圖中可以看到pecl已經安裝完成,現在我們就可以使用pecl安裝swoole了,執行命令如下所示

pecl install swoole

這條命令會有一個編譯的過程,執行的時間有點長,在命令執行之後,返回的資訊如下圖所示

image

在上圖中可以看到已經執行成功,並且自動將swoole擴充套件安裝到了PHP的擴充套件目錄,並新增到了配置檔案當中。

五、驗證swoole擴充套件

在swoole安裝完成之後,我們可以通過下面兩種方式來驗證安裝的可用性,首先是通過檢視php安裝的擴充套件模組命令,看看是否顯示了swoole,執行命令如下所示

php -m

命令執行之後,返回的資訊如下圖所示

image

在上圖中可以看到返回了swoole,說明php安裝了swoole模組,我們接著找一個依賴swoole的專案,我這裡有一個用laravel開發的專案需要一來到swoole,啟動命令如下所示

php artisan laravels start

命令執行之後,返回的資訊如下圖所示

image

在上圖中可以看到顯示了PHP和swoole的版本資訊,到此說明我們整個安裝過程已經完成了

六、 圖書推薦

如果對筆者的實踐文章較為感興趣,可以關注筆者出版社《PHP Web安全開發實戰》,現已在各大平臺上架銷售,封面如下圖所示

image

作者:湯青松

微信:songboy8888

日期:2019-12-03

相關文章