Nginx

Nginx有官方native build的32bit版本, 也有cygwin build的64bit版本, 出于稳定性的考虑, 还是选了官方的32bit.

解压, 本例中使用的路径是 C:\Servers\nginx-1.9.12 , 创建两个bat, 用于启动和关闭nginx:

start_nginx.bat

@echo off
set NGINX_HOME=C:\Servers\nginx-1.9.12
start /D %NGINX_HOME%\ %NGINX_HOME%\nginx.exe
pause

stop_nginx.bat

@echo off
set NGINX_HOME=C:\Servers\nginx-1.9.12
cd %NGINX_HOME%
nginx.exe -s quit
pause

PHP

选的版本是 7.0.4 64位 NTS(非线程安全) VC14, 本例中解压至目录 C:\Servers\php-7.0.4-nts-Win32-VC14-x64 ,

使用php.ini-development 创建 php.ini, 修改以下几处, (参考 http://man.chinaunix.net/develop/php/php_manual_zh/html/ini.core.html )

date.timezone = Asia/ChongQing
enable_dl = On
#允许用户在运行时加载PHP扩展,即在脚本运行期间加载
cgi.force_redirect =
# 启用时, 防止任何人通过如 http://my.host/cgi-bin/php/secretdir/script.php 这样的 URL 直接调用 PHP。PHP 在此模式下只会解析已经通过了 web 服务器的重定向规则的 URL. 在大多数 web 服务器中以 CGI 方式运行 PHP 时很有必要用 cgi.force_redirect 提供安全。PHP 默认其为 On。可以将其关闭,但风险自担。注: Windows 用户:可以安全地在 IIS 之下将其关闭,事实上必须这么做。要在 OmniHTTPD 或 Xitami 之下使用也必须将其关闭。
cgi.fix_pathinfo=
#:PHP CGI 以 / 为分隔符号从后向前依次检查请求的路径, 对 CGI 提供了真正的 PATH_INFO/PATH_TRANSLATED 支持。以前 PHP 的行为是将 PATH_TRANSLATED 设为 SCRIPT_FILENAME,而不管 PATH_INFO 是什么。有关 PATH_INFO 的更多信息见 cgi 规格。将此值设为 将使 PHP CGI 修正其路径以遵守规格。设为 将使 PHP 的行为和从前一样。默认为零。用户应该修正其脚本使用 SCRIPT_FILENAME 而不是 PATH_TRANSLATED。
fastcgi.impersonate =
#IIS(在基于 WINNT 的操作系统上)中的 FastCGI 支持模仿客户端安全令牌的能力。这使得 IIS 能够定义运行时所基于的请求的安全上下文。Apache 中的 mod_fastcgi 不支持此特性(//)。如果在 IIS 中运行则设为 。默认为 。
cgi.rfc2616_headers =
#指定 PHP 在发送 HTTP 响应代码时使用何种报头。如果设定为 ,PHP 发送一个 Status: 报头,Apache 和其它 web server 都支持。如果此选项设定为 ,PHP 将发送 RFC 兼容的报头。除非你知道自己在做什么,否则保留其值为 。

添加扩展, 修改以下几处

extension_dir = "./ext"
# 指定win7下的扩展目录
# 并取消用到的扩展前面的注释

启动的命令是

C:\>Servers\php-7.0.4-nts-Win32-VC14-x64\php-cgi.exe -b 127.0.0.1:9000

如果需要后台启动PHP CGI, 使用vbs, 创建 startup.vbs

createobject("wscript.shell").run "c:\Servers\php-7.0.4-nts-Win32-VC14-x64\php-cgi.exe -b 127.0.0.1:9000",,false

停止PHP CGI, 创建shutdown.bat

@echo off
taskkill /fi "imagename eq php-cgi.exe"
pause

Nginx 启用 PHP

修改nginx.conf

        location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

重启nginx

注:
PHP5.6及以下, 需要将mysql 的 libmysql.dll 拷贝至 C:\Windows\SysWOW64
PHP7貌似已经取消了支持,编译都没有了--with-mysql参数,只支持--with-mysqli和--with-pdo-mysql, 故libmysql.dll已经不需要
如果提示api-ms-win-crt-runtime-l1-1-0.dll丢失, 请安装 visual c++ redistributable 2015, 从微软官网上可以下载. 安装对系统的要求必须在win7 sp1以上, 如果win7还未升级的, 安装会失败.

最新文章

  1. 循环遍历checkbox按钮,和点击后提示。
  2. Python爬虫学习(10):Selenium的好基友PhantomJS
  3. JS中的函数(二):函数参数(你可能不知道的参数传递)
  4. Swift入门学习之一常量,变量和声明
  5. Spring与JPA
  6. 团队项目——站立会议 DAY1
  7. https://docs.mongodb.org/manual/reference/operator/aggregation/unwind/#examples
  8. php webservice soap
  9. MVC中的HtmlHelper
  10. HDU 1849 Rabbit and Grass
  11. mapreduce任务失败、重试、猜測式运行机制小结
  12. java 设计模式-缺省适配器模式
  13. eclipse启动报错the catalog could not be loaded please ensure that you have network access and if needed have configured your network proxy
  14. Android开发过程中在sh,py,mk文件中添加log信息的方法
  15. #3 Python面向对象(二)
  16. vue,react,angular
  17. 学以致用二十七-----Centos7.5二进制安装mysql5.7.23
  18. SpringMVC(4.1):Controller接口控制器详解(1)
  19. [UE4]移动小地图
  20. 编写简易的JS输入框模糊查询匹配(附有源码和demo)

热门文章

  1. 使用TARGET_IPHONE_SIMULATOR和TARGET_OS_IPHONE宏区分模拟器和设备
  2. iOS-工作经验+资料分享(长期更新)
  3. msbuild ConfuserEx.Build 加密
  4. macbook安装win7
  5. linux 学习随笔-vim
  6. IO流05--毕向东JAVA基础教程视频学习笔记
  7. ORACLE数据库对比表结构
  8. Spring mvc框架 controller间跳转 ,重定向 ,传参
  9. DOS命令批量重命名文件配合Excel 操作备忘
  10. ElasticSearch 日期赋值