十年了,xxfpm 终于更新了


php是世界上最好的语言!!!!

距离xiaoxia发表xxfpm 已经十年了(具体截止到今天是9年11个月,上次xxfpm文章的发表时间是2011.02.01),而距其代码开源也已5年半有余,而xiaoxia的最后一篇博客停更在2015.11.05,不知道他是否已转战其他平台,比如博客园。

xxfpm是在windows服务器使用php时解决php-cgi-exe 总是崩溃的问题,原理是不断系统监听,如发现php进程数少于设定的数量则系统再次启动新进程,保证php不崩溃而可正常工作。但不知为何php官方到目前为止仍未解决该问题,只能依靠该个人开发者xxfpm工具在windows服务器上保证php的正常使用。而由于历史久远,原xxfpm遗留了部分使用体验问题,最近自己学习php接触到该问题,由于完美主义作祟,决定自己重新修改编译解决下原有的问题,于是有个该工具xxfpmW。关于xxfpmW的编写过程请看:xxfpmW 的诞生过程 。

原 xxfpm 链接地址:https://github.com/78/xxfpm

新 xxfpmW 地址在此:

国内码云地址:https://gitee.com/jying/xxfpmW

github地址:https://github.com/jying000/xxfpmW

以下是xxfpmW工具详情介绍: 

xxfpmW

介绍

本工具为windows系统防止php崩溃的固定进程数工具,基于原xxfpm,但改进为可后台运行,运行日志和错误日志保存在txt文件中。去掉linux相关代码,解决关机时会弹出错误窗口提示的问题。

软件架构

C语言开发,编译工具为MinGW。

使用说明

  1. 将xxfpmW 文件夹放到自己系统对应的 php-cgi.exe 所在文件夹下。

  2. 鼠标右键编辑修改 xxfpmW.bat 中的启动进程数(默认为5)和监听端口(默认9000),如果不需要修改则忽略此步骤,直接执行步骤3。

  3. 双击文件 xxfpmW.vbe 运行即可,可在windows任务管理器中查看已运行的进程,也可通过日志查看运行情况。

    xxfpmW在任务管理器运行情况

    xxfpmW运行日志

 

手动关闭

不能直接关闭 php-cgi.exe (即任务管理器中的 CGI / FastCGI),因为启动了监听规则,会立刻开启新的进程,必须按如下步骤关闭。

  1. 任务管理器中右键 Microsoft ® Windows Based Script Host 结束任务。

  2. 任务管理器中右键 xxfpmW.exe 结束任务。

 

编译教程

如果想自己手动尝试编译生成exe文件,可尝试以下步骤,否则可忽略此内容

  1. 安装 MinGW 编译工具,并配置对应系统环境变量。安装教程自行查询。国内由于墙的原因可能安装gdb失败,(gdb是用于调试的)对于编译没有影响。

  2. 复制粘贴编译该项目需要的引用文件。

    pthread.h 、 sched.h、 semaphore.h 三个头文件放到 MinGW/include文件夹,libpthread.a 放到 MinGW/lib文件夹。

  3. 启动 MinGW 执行编译,成功后会生成 xxfpmW.exe 文件。 

    gcc -Werror -o xxfpmW win10.c -lpthread -lWs2_32 -s

 

 

 

今天是2021年第一天,在此祝大家新年快乐,身体健康,阖家欢乐,心想事成,财源广进~~

原文地址:https://www.cnblogs.com/jying/p/14220560.html