一、背景
前段時間把Mac系統重裝了,PHP的一些擴展都沒了,昨天需要調試一個swoole開發的項目,發現命令行中的PHP是系統自帶的,如果安裝swoole擴展很不方便;需要自己手動去下載swoole的源碼,然後去編譯swoole的源碼,並自己配置,整個過程非常繁瑣;
我記得之前用brew安裝的PHP,再使用pecl很方便就可以安裝swoole,於是我把自帶的PHP卸載然後重新使用brew安裝,並且安裝了pecl,在通過pecl安裝了swoole擴展,把這個安裝過程記錄下來,方便下次使用吧
二、操作概要
- 卸載自帶軟件
- 重新安裝軟件
- 驗證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