日期:2014-05-16  浏览次数:20780 次

windows下配置PHP+Nginx+MySQL完整流程

对于在windows上的php+nginx的配置可能好多同学一次根本都配不正确,于我也是如此,为此我将我成功配置的过程细致的总结如下,希望能帮助搞PHP研究的同学

?

1、资源准备

? MySQL:这个链接不提供了大家搞开发的电脑没个MySQL安装程序实在是太不像话了。

?

? PHP:http://windows.php.net/download/?

(我下载的是VC9 x86 Thread Safe (2012-May-08 18:26:37)这个版本的zip包)

?

? Ngnix:http://kevinworthington.com/nginx-for-windows/

(我下载的是1.2.0(32-bit)的安装程序)

?

??RunHiddenConsole:http://www.haoboweb.com/uploads/allimg/110613/RunHiddenConsole.zip

(这个程序非常有用,知道Linux环境的nohup用法不?对,就是干同样的功能,不懂的话百度去吧)

?

?

2、配置步骤(省略MySQL安装,不过有时候MySQL安装失败重装的话是有一定难度的,可以参考我的相关文章予以解决)

?

PHP配置

?

? 1)将下载的PHP包加压至F:\php

?

? 2)将F:\php\php.ini-development文件备份一份,然后将原文件改名为php.ini

?

? 3)修改php.ini

?

? ? 指定php存放目录:doc_root = "C:\nginx\html"

?

? ? 更改扩展存放目录为真是拓展存放目录:extension_dir = "ext"

?

? ? 更改时区:date.timezone = Asia/BeiJing

?

? ??因为nginx需要的是cgi方式的php,所以如下几个地方是重点,否则nginx无法打开php文件:

? ? enable_dl = On

? ? cgi.force_redirect = 0

? ? cgi.fix_pathinfo=1

? ? fastcgi.impersonate = 1

? ? cgi.rfc2616_headers = 1

?

? ? 为了支持MySQL,请进行下面这样的操作:

? ? 在F:\\F:\PHP\php.ini中进行下几步查找定位

? ??查找定位至:;extension=php_gd2.dll,去掉前面分号

? ? 查找定位至:;extension=php_mbstring.dll,去掉前面分号

? ? 查找定位至:;extension=php_mysql.dll,去掉前面分号

? ? 查找定位至:;extension=php_mysqli.dll,去掉前面分号

? ? 查找定位至:;extension=php_pdo_mysql.dll,去掉前面分号

?

Nginx配置

?

? 1)将下载的Nginx进行安装默认安装到C:\nginx目录

?

? 2)将C:\nginx\nginx.conf文件打开,进行如下修改

?

? ? ?查找定位worker_connections改为worker_connections 64;(因为是本地开发使用,所以线程不开太多)

?

? ? ?查找定位charset改为charset gbk;???

?

? ? ?下面贴出比较重要的片段

? ? ??location / {

? ? ? ? ? ? root ? html;

? ? ? ? ? ? index ?index.html index.htm index.php;

? ?autoindex on;

? ? ? ? }

? ? ? ?这里主要添加了inde.php?

?

?

? ? ? ??location ~ \.php$ {

? ? ? ? ? ? root ? ? ? ? ? html;

? ? ? ? ? ? fastcgi_pass ? 127.0.0.1:9000;

? ? ? ? ? ? fastcgi_index ?index.php;

? ? ? ? ? ? fastcgi_param ?SCRIPT_FILENAME ?/scripts$fastcgi_script_name;

? ? ? ? ? ? include ? ? ? ?fastcgi_params;

? ? ? ? }

? ? ? ?这里要注意fastcgi_pass ? 127.0.0.1:9000端口要符合php的fastcgi运行端口

?

3)编写启动php-cgi.exe和nginx.ex的批处理程序(这样做是简化总是输入命令执行的麻烦)

?新建一个目录F:\php-nginx-manage-cmd,将下载好的RunHiddenConsole.exe拷贝到此目录

?

?在此目录创建start-php-nginx.bat,内容如下

?@echo off

?

?echo Starting PHP FastCGI...

?

?RunHiddenConsole F:/php/php-cgi.exe -b 127.0.0.1:9000 -c F:/php/php.ini

?

?echo Starting nginx...

?

?RunHiddenConsole c:/nginx/nginx.exe

?

?Exit

?对于上面的内容中的三个路径你可以指定成你自己的实际程序安装路径

?

?

?

?在此目录创建stop-php-nginx.bat,内容如下

?

?@echo off

?

? echo Stopping nginx...

?

? taskkill /F /IM nginx.exe > nul

?

? echo Stopping PHP FastCGI...

?

? taskkill /F /IM php-cgi.exe > nul

?

? exit

? 对于上面的批处理希望你不要做修改

?

?

?

4)运行起来PHP的HelloWorld程序

? 前提:执行F:\php-nginx-manage-cmd\start-php-nginx.bat
? 启动php-cgi和nginx后我们可以访问nginx的默认页面通过访问http://localhost/,如下图所示