在Mac系統下用Docker搭建Swoole開發環境

來源:互聯網
上載者:User
作為一款重新定義PHP的開源架構,Swoole讓PHP可以應用於更多的情境。

對於一位PHP程式員來說,通過Swoole可以瞭解以往不曾接觸過的編程方法。

眾所周知,搭建開發環境其實是很麻煩的一件事,經常會遇到各種各樣的問題。所以我用Docker搭建了一套Swoole環境,按照這篇教程,就可以非常簡單得開始Swoole之旅。

首先是安裝Docker,官網有詳細的安裝步驟: https://docs.docker.com/mac/step_one/

Mac使用者參考上述網址即可。對於其他系統的使用者來說,官網都有相應的方法。這裡不再細說。

以下的步驟也都是基於Mac系統來進行。

安裝完成後,在Launchpad裡會看到Docker Quickstart Terminal這個名字的應用,點擊後,會開啟系統預設的終端,然後等一會兒,就可以看到鯨魚的畫像出現了。

要注意終端裡的一條提示資訊:

docker is configured to use the default machine with IP 192.168.99.100

記住這個IP地址,我們訪問容器時會用到。

為了驗證Docker是否運行起來,在開啟的終端裡輸入下面的命令:

docker images

如果Docker沒有正確運行,會看到下面的錯誤提示:

Cannot connect to the Docker daemon. Is the docker daemon running on this host?

確保Docker正確運行後,輸入下面的命令,擷取swoole鏡像:

docker pull koolob/swoole-docker

這個鏡像是基於php:5.6-cli的鏡像構建,包括swoole的最新版本1.8.4,預設使用了下面的編譯參數進行編譯:

--enable-async-redis --enable-async-httpclient --enable-openssl --enable-jemalloc

swoole的編譯參數說明:http://wiki.swoole.com/wiki/page/437.html

這個鏡像的Dockerfile是開源的,有需要搭建自訂環境的朋友可以參考我的Dockerfile檔案進行修改:Github

下載鏡像後,就可以運行一個容器,進入Swoole環境了。

輸入命令:

docker run -t -i koolob/swoole-docker /bin/bash

之後會進入到容器內。

再次輸入:

php -r 'echo swoole_version()."\n";'

可以看到輸出了1.8.4,也就是當前swoole的版本號碼。

這樣我們就有了一個通過Docker構建的Swoole環境。

接下來,我們可以把代碼和環境構建成一個鏡像來運行。依然有個樣本可以參考:

git clone https://github.com/koolob/swoole-docker-example.git

下載下來後,切換到目錄中,直接執行

./build.sh

然後瀏覽器訪問地址:http://192.168.99.100:8080/ 就可以看到結果了,同時在終端中也能看到程式輸出的內容。在終端裡使用Ctrl+C就可以退出容器。

192.168.99.100這個IP就是上文提到的終端提示的IP

我們啟動並執行是一個非常簡單的HTTP服務,代碼位於src檔案夾下:

$serv = new swoole_http_server("0.0.0.0", 8080);$serv->on('Request', function($request, $response) {    var_dump($request->get);    var_dump($request->post);    var_dump($request->cookie);    var_dump($request->files);    var_dump($request->header);    var_dump($request->server);    $response->cookie("User", "Swoole");    $response->header("X-Server", "Swoole");    $response->end("

Hello Swoole!

");});$serv->start();

build.sh指令碼做的事就是構建鏡像,並啟動一個容器。

新構建的鏡像也很簡單,基於koolob/swoole-docker,開放8080連接埠,將src目錄中的內容複寫到鏡像內,並在容器運行時,執行php代碼。

之後要做的事就是修改src中的代碼,執行build.sh指令碼,然後測試。

至此,我們的Swoole開發環境搭建完畢。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.