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

yipeiwu_com6年前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中的Session及对Session有效期的控制

0.什么是session?        Session的中文译名叫做“会话”,其本来的含义是指有始有终的一系列动作/消息,比...

简单谈谈PHP中的Reload操作

前言 有很多前辈告诫过我们,reload 能保证整个过程的平滑性,所谓平滑性指的是在 reload 的过程中,旧的进程在处理完当前请求前不会提前终止。很多年来,我从来没有质疑过这种说法,...

PHP 命令行工具 shell_exec, exec, passthru, system详细使用介绍

PHP 命令行工具 shell_exec, exec, passthru, system详细使用介绍

所有这些命令都衍生一个子进程,用于运行您指定的命令或脚本,并且每个子进程会在命令输出写到标准输出 (stdout) 时捕捉它们。 shell_exec() shell_exec() 命令...

php实现refresh刷新页面批量导入数据的方法

本文实例讲述了php实现refresh刷新页面批量导入数据的方法。分享给大家供大家参考。具体分析如下: 这个功能是参考dedecms生成html页面的原理,只是dedecms使用的是js...

PHP实现的各种进制相互转换功能小工具示例

PHP实现的各种进制相互转换功能小工具示例

本文实例讲述了PHP实现的各种进制相互转换功能小工具。分享给大家供大家参考,具体如下: <html> <head> <title>进制转换器<...