window+nginx+php环境配置 附配置搭配说明

yipeiwu_com5年前PHP代码库
1,下载PHP
  php下载版本比较多,其中,
  vc9=vs2008编译,推荐使用IIS+php搭配模式,
  vc6=vs6编译,推荐使用apache+php方式搭配,
  Thread Safe,线程安全,执行时会进行线程(Thread)安全检查,以防止有新要求就启动新线程的CGI执行方式而耗尽系统资源。Non Thread Safe是非线程安全,在执行时不进行线程(Thread)安全检查。
  Non Thread Safe,
  再来看PHP的两种执行方式:ISAPI和FastCGI。
  ISAPI执行方式是以DLL动态库的形式使用,可以在被用户请求后执行,在处理完一个用户请求后不会马上消失,所以需要进行线程安全检查,这样来提高程序的执行效率,所以如果是以ISAPI来执行PHP,建议选择Thread Safe版本;
  而FastCGI执行方式是以单一线程来执行操作,所以不需要进行线程的安全检查,除去线程安全检查的防护反而可以提高执行效率,所以,如果是以FastCGI来执行PHP,建议选择Non Thread Safe版本。
  官方并不建议你将Non Thread Safe 应用于生产环境,所以我们选择Thread Safe 版本的PHP来使用。
2,配置php
  解压到某个目录,如c:/php345
  将php.ini-development重命名为php.ini
  fastcgi.impersonate=1 默认为0,如果使用IIS,你需要开启:cgi.fix_pathinfo=1
  cgi.force_redirect=0 默认开启,如果你使用IIS,可以将其关闭
  其次指定extension_dir目录和date.timezone目录
  extension_dir = "C:/php53iis/ext"
  date.timezone= Asia/Shanghai
  修改PHP.INI配置文件中的cgi.fix_pathinfo = 1,PHP 会修正 SCRIPT_FILENAME 为真实的文件地址,否则 PHP 将无法找到需要处理的 PHP 文件。
3,配置nginx
  解压nginx,如c:/nginx
  
  设定error.log的存放目录,将#error_log logs/error.log;的#去处,默认error.log是存放在Nginx安装目录中logs目录下。
  
  设定WEB服务器目录,类似于PHP.INI配置文件中的document_root,Nginx配置文件中的信息如下
复制代码 代码如下:

location / {
root D:/PHPWeb;
index index.php index.html index.htm;
}

复制代码 代码如下:

location ~ \.php$ {
root D:/PHPWeb;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME D:/PHPWeb$fastcgi_script_name;
include fastcgi_params;

注意:fastcgi_param SCRIPT_FILENAME 中的/scripts修改为之前设定的WEB目录,否则会报HTTP 404错误。

  修改PHP.INI配置文件中的cgi.fix_pathinfo = 1,PHP 会修正 SCRIPT_FILENAME 为真实的文件地址,否则 PHP 将无法找到需要处理的 PHP 文件。
4.运行
  下载RunHiddenConsole
  防火墙支援RunHiddenConsole C:/php52iis/php-cgi.exe -b 127.0.0.1:9000 -c C:/windows/php.ini

来自:http://www.cnblogs.com/ihwt/archive/2010/12/18/1909742.html

如果想比较省事的朋友可以用下面的这款软件快速部署基于Nginx的php运行环境了:
https://www.jb51.net/softs/33785.html

相关文章

php统计文件大小,以GB、MB、KB、B输出

使用filesize()函数命令实现文件大小的统计,要求:1,以GB、MB、KB、B中的一个输出;2.数量级必须大于1小于1024,并保留两位小数;   开始动工: 复制代码 代码如下:...

php中$_REQUEST、$_POST、$_GET的区别和联系小结

1. $_REQUEST php中$_REQUEST可以获取以POST方法和GET方法提交的数据,但是速度比较慢 2. $_GET 用来获取由浏览器通过GET方法提交的数据。GET方法他...

php使用cookie保存登录用户名的方法

本文实例讲述了php使用cookie保存登录用户名的方法。分享给大家供大家参考。具体如下: 提交表单页面 复制代码 代码如下:<?php $user = isset($_C...

域名和cookie问题(域名后缀)

域名和cookie问题(域名后缀)

域名和cookie 偶然想到一个问题:www.g.cn能把cookie设置为.g.cn,那么www.com.cn能设置把cookie设置为.com.cn吗? 试验结果:不能。因为浏览器知...

php str_pad() 将字符串填充成指定长度的字符串

/** * 将字符串填充成指定长度的字符串(多字节安全) * @param string $str 指定被填充的字符串 * @param int $len 指定被填充的字符串的长度,如果...