。
(2)进入C:\wnmp\nginx\conf文件夹内,记事本或写字板打开nginx的配置文件nginx.conf
找到如下两处进行修改,修改内容如下
server {
listen 80;
server_name localhost;
#modify by lee 20160902 for php -s
location / {
root C:/wnmp/www;
index index.html index.htm index.php;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
location ~ \.php$ {
root C:/wnmp/www;
fastcgi_pass 127.0.0.1:9001;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
#modify by lee 20160902 for php -e
}
4.安装php-5.6.25-nts-Win32-VC11-x64/x86
(1)解压php-5.6.25-nts-Win32-VC11-x64/x86.zip文件到C:\wnmp\php。
(2)进入C:\wnmp\php目录内,备份php.ini-development一份,将php.ini-development重命名为php.ini
查找定位并修改:
; extension_dir = "ext" ,删除前面的分号并修改为:extension_dir = "C:/wnmp/php/ext"
;extension=php_gd2.dll,删除前面的分号:extension=php_gd2.dll
;extension=php_mbstring.dll,删除前面的分号:extension=php_mbstring.dll
;extension=php_mysql.dll,删除前面的分号:extension=php_mysql.dll
;extension=php_mysqli.dll,删除前面的分号:extension=php_mysqli.dll
;extension=php_pdo_mysql.dll,删除前面的分号:extension=php_pdo_mysql.dll
;cgi.force_redirect = 1,删除前面的分号:cgi.force_redirect = 1
;cgi.fix_pathinfo=1,删除前面的分号:cgi.fix_pathinfo=1
;cgi.rfc2616_headers = 0,删除前面的分号:cgi.rfc2616_headers = 1
(3)配置环境变量:
打开环境变量配置窗口,
在系统环境变量中添加 变量 变量名:PHP_HOME 变量值:C:\wnmp\php
在系统环境变量中添加 变量 变量名:NGINX_HOME 变量值:C:\wamp\nginx
在path变量最后添加:%PHP_HOME%;%NGINX_HOME%; (注意添加分号)
(4)启动php-cgi 服务:
win+R 输入cmd回车,进入命令提示符界面,进入C:\wnmp\php>,
使用命令 php-cgi.exe -b 127.0.0.1:9001 -c php.ini
重新打开一个新的命令提示符界面,
输入命令: netstat -ano|findstr "9001"会出现 9001端口号占用情况
再次输入命令: tasklist|findstr "2892" (注:2892为上一个命令执行完毕后,最后一列显示的进程号)
如下图所示:表示 php-cgi服务启动成功
(5)编写启动脚本 start.bat (其实到上步为止,已经配置完成,但是为了以后便于启动各种服务,特此编写一个启动脚本。)
新建文本文档,重命名为start.bat
用记事本打开后,做如下编辑:
(如果所以文件目录与本教程所述完全一致,则此脚本可以直接使用,如果有区别,则需要对NGINX_DIR和PHP_DIR做相应修改后使用)
@echo off
rem the use of bat
echo ==================begin========================
cls
SET NGINX_PATH=C:
SET NGINX_DIR=C:\wnmp\nginx\
SET PHP_DIR=C:\wnmp\php\
color 0a
TITLE Nginx Manager
CLS
ECHO.
ECHO. * * Nginx Manage App *
ECHO.
:MENU
ECHO. * nginx process list *
tasklist|findstr /i "nginx.exe"
ECHO.
ECHO. [1] start Nginx
ECHO. [2] stop Nginx
ECHO. [3] restart Nginx
ECHO. [4] exit
ECHO.
ECHO.Please input the number:
set /p> IF "%id%"=="1" GOTO start
IF "%id%"=="2" GOTO stop
IF "%id%"=="3" GOTO restart
IF "%id%"=="4" EXIT
PAUSE
:start
call :startNginx
call :startPhpFastCGI
GOTO MENU
:stop
call :shutdownNginx
GOTO MENU
:restart
call :shutdownNginx
call :startNginx
GOTO MENU
:shutdownNginx
ECHO.
ECHO.Stop Nginx......
taskkill /F /IM nginx.exe > nul
ECHO.Stopping PHP FastCGI......
ECHO.OK,Stop all nginx process and php fastcgi
goto :eof
:startNginx
ECHO.
ECHO.Start Nginx......
IF NOT EXIST "%NGINX_DIR%nginx.exe" ECHO "%NGINX_DIR%nginx.exe" is not exists
%NGINX_PATH%
cd "%NGINX_DIR%"
IF EXIST "%NGINX_DIR%nginx.exe" (
echo "start '' nginx.exe"
start "" nginx.exe
)
ECHO.OK
goto :eof
:startPhpFastCGI
ECHO.
ECHO.Start PHP FastCGI......
IF NOT EXIST "%PHP_DIR%php-cgi.exe" ECHO "%PHP_DIR%php-cgi.exe" is not exists
%NGINX_PATH%
cd "%PHP_DIR%"
IF EXIST "%PHP_DIR%php-cgi.exe" (
echo "start '' php-cgi.exe"
start /b php-cgi.exe -b 127.0.0.1:9001 -c php.ini
)
ECHO.OK
goto :eof
(6)测试成功
在C:\wnmp下新建www文件夹,在www文件夹下新建php文件 index.php,并做如下编辑
如下mysqli_connect()代码部分需要 做相应更改。
<html>
<head>
<title>test mysql+php+nginx</title>
</head>
<body>
<?php
$link = mysqli_connect("localhost","root","root");
if($link){
echo "db connect success!";
}else{
echo "db connect failed!";
}
?>
<br>
<?php phpinfo();?>
</body>
</html>
双击上述 start.bat脚本文件,键盘输入 1后按下回车键
如下图所示,则表示nginx-php启动成功