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 之後要做的事情。
目前有的功能如下
- wphpfpm 是獨立的服務,類似 Linux 下的 php-fpm
- 可以建立不同版本的 php-cgi 來跑
- php-cgi 可以設定最大啟動的數量
- 可以安裝於 Windows Service,也可以命令列模式下跑
- JSON 格式的設定檔
至於這樣的作法,對於 Windows 上來測試 php 網站性能影響多大 ? 可以看下面的簡單測試 : https://github.com/pigochu/wphpfpm/blob/master/BENCHMARK.md