最近學習用 golang 開發的 wphpfpm (PHP-FPM for Windows)

wphpfpm 是我初次練習 Go Lang 開發用來管理 Windows 下的 php-cgi ,由於 php-cgi 一次只能服務一個客戶端,除非使用 apache 的 mod_fcgid,不然還真難管理,

所以我就自己寫來玩玩,主要是因為用 caddy 來測試 php 只能啟動一隻 php-cgi 實在太不人道了,而且當我修改 php 的設定值,想要重啟 php-cgi,必須要自己手動砍掉 php-cgi 行程

底下圖是很簡單的架構,wphpfpm 也可以看成是一種 proxy 就是了,就是多了一些管理 process 是否超出 max requests 之後要做的事情。

php-fpm for windows

目前有的功能如下

  1. wphpfpm 是獨立的服務,類似 Linux 下的 php-fpm
  2. 可以建立不同版本的 php-cgi 來跑
  3. php-cgi 可以設定最大啟動的數量
  4. 可以安裝於 Windows Service,也可以命令列模式下跑
  5. JSON 格式的設定檔

至於這樣的作法,對於 Windows 上來測試 php 網站性能影響多大 ? 可以看下面的簡單測試 : https://github.com/pigochu/wphpfpm/blob/master/BENCHMARK.md

原始碼連結 : https://github.com/pigochu/wphpfpm

發佈留言