目录
手动启动php-cgi.exe
找到php 目录,运行以下命令
# php-cgi.exe -b 127.0.0.1:9001 
缺点
需要手动运行,phpstudy nginx 重启时还需要再手动运行。
phpstudy 默认phprocess.exe
phpStudy2016在启动nginx时,会调用 tools 文件架内phprocess.exe + php文件夹,并没有源码,但可以参考后面的项目可猜测代码逻辑,类似以下代码
exec.Command("php/" + phpver + "/php-cgi.exe", "-b", "127.0.0.1:9000" ).Start()
修改php-fpm.ini 内fpm 值可以更改启动进程数,但无法配置端口。
替换 phprocess.exe
下载
phprocess.exe地址
替换
把下载的 phprocess-windows-amd64.exe 修改名字为 phprocess.exe,覆盖到phpstudy tools 目录中
修改php-fpm.ini
[php-fpm]
fpm=2
port=9000
参数说明
fpm 开启 php-cgi数量
port 开启起始端口
详情可以见源码:
func main() {
    phpver := os.Args[1]
    cfg, _ := ini.Load("tools/php-fpm.ini")
    spawnNum, _ := cfg.Section("php-fpm").Key("fpm").Int()
    port, _ := cfg.Section("php-fpm").Key("port").Int()
    
    for i := 0; i < spawnNum; i++ {
        th_port := port + i
        exec.Command("php/" + phpver + "/php-cgi.exe", "-b", "127.0.0.1:" + strconv.Itoa(th_port)).Start()
    }
}
nginx 设置
upstream php-fastcgi {
    server 127.0.0.1:9000 weight=1;
    server 127.0.0.1:9001 weight=1;
}
server {
  location ~ \.php(.*)$  {
 	   
            fastcgi_pass   php-fastcgi ;
            fastcgi_index  index.php;
            fastcgi_split_path_info  ^((?U).+\.php)(/?.+)$;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            fastcgi_param  PATH_INFO  $fastcgi_path_info;
            fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
            include        fastcgi_params;
        }
}
效果

补充
2021年12月25日 不好用,经常会崩