php-fpm for windows,Just for fun——windows上的php-fpm
fastcgi
As we all know,nginx配php是通过fastcgi(一个类似http的协议,升级版的cgi)的。在linux上有php-fpm帮你管理进程,在windows似乎没有,这是有点令人悲伤的。
php-cgi-spawner
Github这么神奇的地方,怎么会有你找不到的东西呢?我找到了这个库php-cgi-spawner,这个库是用C语言写的,看了源码,它自己简单实现了fastcgi和进程管理
一步步使用
下载php,我下载了VC14 x64 Non Thread Safe(多进程,所以不用线程安全)的PHP 7.0 (7.0.22) php 7.0.22,D盘新建一个wnp的文件夹(winodws,nginx,php),把下载文件放进去,解压为php7,注意php7需要VC14的支持,没装的要装下VC运行库VC 2015 64位
下载nginx,下载最新稳定的nginx,nginx-1.12.1,也放到wnp中,解压为nginx
下载php-cgi-spawner.exe(下载很慢,用我的七牛链接:php-cgi-spawner),整个目录文件如下:
然后修改php.ini(把php.ini-development或者php.ini-production改名过来),修改extension_dir(去掉;)为当前php7中ext文件夹的路径,也就是D:/wnp/php7/ext。检验一下:
D:\wnp\php7>php.exe -v
PHP 7.0.22 (cli) (built: Aug 1 2017 14:13:41) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
然后开启php-cgi-spawner:
set PHP_HELP_MAX_REQUESTS = 100
php-cgi-spawner.exe "php7/php-cgi.exe -c php7/php.ini" 9000 4+16
然后配置nginx中conf里nginx.conf文件:
server {
listen 80;
server_name localhost;
index index.php index.html;
root D:/web_root;
#charset koi8-r;
#access_log logs/host.access.log main;
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
在D盘建立一个web_root的文件夹,放入index.php,开启nginx测试
index.php写入
echo "hello world";
应用
我的wnmp项目就用了这个东西,SalamanderWnmp,欢迎star
php-fpm for windows,Just for fun——windows上的php-fpm相关推荐
- Windows打印体系结构之Windows内置打印驱动程序
时间是一种很残酷的东西,它只会冲淡能够冲淡的,但也会洗尽铅华帮你留下该留下的. 1.3.4.Windows内置打印驱动程序 现在的Windows下的打印机驱动程序通常分为V4打印机驱动程序(V4 Pr ...
- windows 系统无法启动windows event log 服务
windows 系统无法启动windows event log 服务 关键词:无法启动系统事件日志 尝试解决步骤 [1]权限:把如图中logsfile文件等都给local service [2]把C: ...
- Use MVS Dsbame convensions. windows下ftp.exe客户端上传错误
环境:主机 220-FTPD1 IBM FTP CS V1R11 at BT11 + windows下的ftp.exe客户端 现象:windows下ftp.exe命令上传文件,报"Use ...
- What’s new: Windows Phone 7 与 Windows Phone 6.5功能对比
在engadget看到一篇Windows Phone 7和Windows Moible 6.5比较的表格,觉得挺不错,blog下来.原文见 Windows Phone 7 Series faces o ...
- 64位windows与32位windows的区别
64位windows与32位windows的区别 2010-07-19 15:46 64位windows与32位windows的区别 http://www.zeroplace.cn/article.a ...
- linux和windows双系统引导,windows和linux双系统引导问题
1 将Grub装配到ntloader内 Grub 做出了牺牲,成为了ntloader的附庸,由ntloader对Grub加以引导,只因为Grub没有写进MBR! 通过把hdaX分区内的Grub引导扇 ...
- Windows Server 2008 和 Windows Vista 结合的功能更加强大
Windows Vista 和 Windows Server 2008 原本就是单个开发项目的一部分,因此,它们共享网络.存储.安全和管理等许多新技术.虽然 Windows Vista 和 Windo ...
- 为何 Windows 10X 无法延续 Windows 的成功?
在基础软件之一的操作系统领域,超越别人或许很容易,但想要突破自己却很难,微软经过一年多的探索,最终无奈宣布 Windows 10X 以失败告终的事件无形之中就证明了这一点. 作者 | 苏宓 出品 ...
- 辨别 Windows CE, Windows XP Embedded 和 Windows Mobile
很多人都没有接触过各种智能设备,现在市面的智能设备"千奇百怪",如何辨别它们? 回想起我自己真是惭愧,做了一年多的 Windows Mobile 开发后,我才知道 Windows ...
- 共享文件迁移(fileserver)——从windows server 2003到windows server 2008
共享文件迁移(fileserver)--从windows server 2003到windows server 2008 环境描述: 现有文件服务器在windows server 2003上,域环境, ...
最新文章
- CentOS7下pptp ***一键安装脚本
- 算法刷题-数论-质数的判定、分解质因数、筛质数
- uniapp连接php,thinkphp5 对接手机uni-app的unipush推送(个推)
- 关机时无人照管更新正在运行_了解iOS13.1后,在决定更新
- C++ 下一代标准库 tr1中默认的哈希 FNV hash
- 媒体查询-响应式布局-BFC
- webview的javascript与Native code交互
- Java并发编程实战之基于生产者消费者模式的日志服务读书笔记
- SOA渐行渐近-怎样给IT系统一个新视角?
- Python path
- 进阶Java架构师必看的15本书
- 计算机桌面显示器,电脑安装多显示器方法图文教程
- 腾讯云短信服务的简单使用
- [Swift]地图导航
- 激光雷达核心技术及行业格局梳理
- 解决:java.lang.IllegalArgumentException: Can not set java.lang.Boolean field
- 马云的至暗时刻:支付宝事件、十月围城 | 阿里巴巴20年
- 全世界国家的数据库sql
- CLEARCO Silicone Fluids Grease Compounds
- 三人表决器与八人抢答器实验
热门文章
- MATLAB----矩阵处理
- python求积分_python 求定积分和不定积分示例
- 张云皓计算机,2014年华北五、自治区和港澳台大学生计算机应用大.PDF
- 微型计算机工作总结,2017-2018学年度微机室管理工作总结
- 江南爱软装十大品牌 软装前景状况如何
- ESP8266-Uart
- 分区表损坏引发的血案
- MPAndroidChart 教程:设置数据 Setting Data
- MS1825 4X4 HDMI矩阵拼接、分割、无缝切换芯片
- Paper简读 - ProGen2: Exploring the Boundaries of Protein Language Models