图片 2

Windows下配置nginx+php(wnmp)

我之前参考了网上许多的iis下安装php的文章,都是拷php.ini和一堆的.dll,一个人有一个人的说法,乱七八糟,许多安装教程编写者自己都不知道拷这些东西,改这些配置究竟是干啥用的。我经过了一个上午的痛苦折磨和试验终于搞清楚了这里面的道道,现告诉大家一个带解释的安装教程:

第一部分:准备工作。(系统:Windows
8.1)

一般的教程都是以看见phpinfo()这个东西为结尾的,那么我告诉你,要看见这个东西,要能运行php其实很简单,核心的就是那步在iis中添加.php的过程。

1.首先是下载软件。

最简安装过程:

NGINX-1.3.8官网下载:

1、先下载php5.2.5:
解压至一个文件夹,然后改文件名简单点比如我的是E:php5.2.5

PHP5.4.8版本下载地址:

2、打开IIS,在默认网站右键属性-主目录-配置-添加
可执行文件:E:php5.2.5php5isapi.dll 扩展名:.php 确定

Mysql5.5.28版本下载地址:

3、新建一文件夹比如E:php,文件夹上右键属性,在web
共享标签选共享文件夹,别名输入php。 在E:php下新建a.php,内容是? echo
phpinfo(); ?

2.安装mysql软件。

5、打开,就看到了phpinfo的那些东西了!

 

虽然最简安装方式已经可以让你使用php的基本功能了,但是连接mysql等扩展还没有装上,所以我推荐的是标准的安装过程,以免以后出现什么问题您拿板砖砸我。

3.解压NGINX和PHP到你自己安装位置。这里我在C盘新建一个文件夹:wnmp(windows,ngnix,myspq,php),把下面的软件安装到这个文件夹里面。

标准安装过程:

NGINX目录C:wnmpnginx

1、先下载php5.2.5:
解压至一个文件夹,然后改文件名简单点比如我的是E:php5.2.5

PHP目录C:wnmpphp

2、复制php5.2.5文件夹下的 php.ini-dist 到 C:WINDOWS下 并改名为 php.ini
并修改以下项: extension_dir = ./ 为 extension_dir =
E:php5.2.5ext,这是php其他的函数库 extension=php_gd2.dll
前面的分号去掉,这个是GD函数库跟支持图片有关的 extension=php_mysql.dll
前面的分号去掉,这个是MYSQL函数库 PS:如果想采用cgi方式解析php文件,则把
cgi.force_redirect = 1 前面分号去掉,并把1改成0 保存

 

3、复制php5ts.dll和libmysql.dll到C:WINDOWSsystem32下

第二部分:安装nginx

4、新建一文件夹比如E:php,文件夹上右键属性,在web
共享标签选共享文件夹,别名输入php。 在E:php下新建a.php,内容是? echo
phpinfo(); ?

1.打开C:nginx目录,运行该文件夹下的nginx.exe

6、打开,就看到了phpinfo的那些东西了!

2.测试是否启动nginx。打开浏览器访问 或
to
nginx!”,出现的证明已经启动成功了。没有启动的话,看看80端口有占用没。

注意:该网站的默认目录在“C:wnmpnginxhtm”l下

图片 1

 

第三部分:安装php(这里主要讲nginx配置启动php,以cgi运行php)

nginx配置文件是conf文件夹里的nginx.conf

1.修改大概第43~45行之间的

 

            location /{              root   html;              index  index.html index.htm;}

 

修改网站文件的路径,以及添加index.php的默认页。

        location / {              root   D:/wnmp/nginx-1.5.8/html;              index  index.html index.htm inde.php;          }

 

2.支持php的设置

 

修改大概在第63-71行的

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000          #          #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;          #}

 

先将前面的“#”去掉,同样将root  html;改为root
 C:/wnmp/nginx-1.5.8/html;。再把“/scripts”改为“$document_root”,这里的“$document_root”就是指前面“root”所指的站点路径,这是改完后的:

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000          #          #location ~ .php$ {          #    root           C:/wnmp/nginx-1.5.8/html;          #    fastcgi_pass   127.0.0.1:9000;          #    fastcgi_index  index.php;          #    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;          #    include        fastcgi_params;          #}

 

3.C:wnmpphpext下修改php.ini-development文件,将文件名修改为php.ini,打开php配置文件php.ini,保存即可。

搜索“extension_dir”,找到: e;xtension_dir = “ext”
先去前面的分号再改为 extension_dir = “C:wnmpphpext”

搜索“date.timezone”,找到:;date.timezone = 先去前面的分号再改为
date.timezone = Asia/Shanghai

搜索“enable_dl”,找到:enable_dl = Off 改为 enable_dl = On

搜索“cgi.force_redirect” ;cgi.force_redirect = 1 先去前面的分号再改为
cgi.force_redirect = 0

搜索“fastcgi.impersonate”,找到: ;fastcgi.impersonate = 1
去掉前面的分号

搜索“cgi.rfc2616_headers”,找到:;cgi.rfc2616_headers = 0
先去前面的分号再改为 cgi.rfc2616_headers = 1

 

搜索“php_mysql”,找到:”extension=php_mysql.dll和extension=php_mysqli.dll
 去掉前面的“;”extension=php_mysql.dll和extension=php_mysqli.dll  
(支持MYSQL数据库)

 

其他的配置请按照自己的需求更改。

 

第三部分试运行以及编辑运行配置文件

C:wnmpphp-5.5.7-nts-Win32-VC11-x86>php-cgi.exe -b 127.0.0.1:9000-c C:wnmpphp-5.5.7-nts-Win32-VC11-x86php.ini

重新运行nginx.exe。

 

 

C:wnmpnginx-1.5.8html下新建一个phpinfo.php,

<?php phpinfo(); ?>

 

访问

或者

出现如下的信息就说明php已经成功安装:

图片 2

 

下载一个RunHiddenConsole.exe,百度网盘。

开启php-cgi和nginx.exe,保存为start.bat

 

@echo off  echo Starting PHP FastCGI...  C:wnmpnginxRunHiddenConsole.exe C:wnmpPHPphp-cgi.exe -b 127.0.0.1:9000-c D:PHPphp.ini  echo Starting nginx...  C:wnmpnginxRunHiddenConsole.exe D:/nginx/nginx.exe -p D:/nginx

 

 

 

停止php-cgi和nginx.exe,保存为stop.bat

@echo off  echo Stopping nginx...  taskkill /F /IM nginx.exe > nul  echo Stopping PHP FastCGI...  taskkill /F /IM php-cgi.exe > nul  exit

 

 


发表评论

电子邮件地址不会被公开。 必填项已用*标注