Swoole 工作坊事前注意事項 === 為了確保學員在工作坊上課期間可以有充足的時間來進行相關的實作,在課程開始前請學員在當日上課前先在自己的電腦環境中先安裝好 Swoole 相關環境。 Swoole 安裝方式有以下幾種: * 自行編譯 * Pecl * Homebrew (MacOS) * Docker * Swoole-Cli(推薦) MacOS M1 晶片在透過編譯、Pecl 安裝過程中可能會遇到一些問題,優先推薦大家使用 Swoole-Cli 方式進行安裝,此種方式不需要手動安裝 extension 以及不會影響自己機器上的 PHP 環境。 ## 環境要求 支援 Linux(2.3.32 以上)、FreeBSD、MacOS 三種作業系統,若為 Windows 作業系統請搭配 WSL 環境或是 Cygwin 使用。 **注意:若非使用 Swoole-Cli 要特別注意 PHP 版本需要在 8.0 以上。** > Laravel Octane requires PHP 8.0+ ## Swoole-Cli(推薦) Swoole-Cli 為官方最新釋出的二進位執行環境,一個 Binary 檔案即包含了 PHP 與 Swoole 環境,不需依賴機器環境上的 PHP 即可使用,為目前最簡單的安裝方式。 * 下載連結: * Linux Arch64: https://wenda-1252906962.file.myqcloud.com/dist/swoole-cli-v5.0.1-linux-aarch64.tar.xz * Linux x64: https://wenda-1252906962.file.myqcloud.com/dist/swoole-cli-v5.0.1-linux-x64.tar.xz * Windows(Cygwin): https://wenda-1252906962.file.myqcloud.com/dist/swoole-cli-v5.0.1-cygwin-x64.zip * MacOS: https://wenda-1252906962.file.myqcloud.com/dist/swoole-cli-v5.0.1-macos-x64.tar.xz * 解壓縮後將執行檔移到 bin 路徑下 ``` tar zxvf swoole-cli-v5.0.1-macos-x64.tar.xz mv swoole-cli /usr/local/bin/swoole-cli ``` * 將 Swoole-Cli 加上可執行權限 ``` chmod +x /usr/local/bin/swoole-cli ``` > Windows 用戶下載下來後執行 swoole-cli 執行檔即可運行 ## 自行編譯 * 編譯相關需求 * 4.8 版本需要 php-7.2 或更高版本 * 5.0 版本需要 php-8.0 或更高版本 * gcc-4.8 或更高版本 * make * autoconf * phpize * 先將 Swoole 從 GitHub 上將最新版本的原始碼下載下來 https://github.com/swoole/swoole-src/releases * 切換至 Swoole 原始碼的目錄後進行編譯 ``` cd swoole-src phpize ./configure make sudo make install ``` * 在 php.ini 中加入 swoole extension 設定 ``` extension=swoole.so ``` > 若不知道自己機器上的 php.ini 檔案位置,可以透過 `php --ini` 來取得相關資訊。 ## Pecl * 透過 pecl 直接安裝 ``` pecl install swoole ``` ## Homebrew (MacOS) * 透過 Homebrew 進行安裝 ``` brew tap shivammathur/extensions brew install shivammathur/extensions/swoole@8.1 ``` > 若為 M1 晶片的 Mac 機型在編譯 Swoole 時會遇到錯誤,使用 `shivammathur/extensions` 的 formula 即可正常安裝。 ## Docker * 透過 Docker 使用 `phpswoole/swoole` image 使用 ``` docker run --rm phpswoole/swoole "php --ri swoole" ``` > 不熟悉 Docker 相關操作的人建議在本機上安裝環境,以利課程順利進行。 ## 檢查 Swoole 安裝結果 ``` php --ri swoole ``` 若是使用 Swoole-Cli 則使用: ``` swoole-cli --ri swoole ``` 若有正確安裝 Swoole,畫面上會出現: ``` Swoole => enabled Author => Swoole Team <team@swoole.com> Version => 5.0.1 Built => Nov 9 2022 17:27:42 coroutine => enabled with boost asm context kqueue => enabled rwlock => enabled sockets => enabled openssl => OpenSSL 1.1.1p 21 Jun 2022 dtls => enabled http2 => enabled json => enabled curl-native => enabled pcre => enabled c-ares => 1.18.1 zlib => 1.2.11 mysqlnd => enabled async_redis => enabled Directive => Local Value => Master Value swoole.enable_coroutine => On => On swoole.enable_library => On => On swoole.enable_preemptive_scheduler => Off => Off swoole.display_errors => On => On swoole.use_shortname => On => On swoole.unixsock_buffer_size => 262144 => 262144 ```
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up