一、下载
PHP - php-7.0.31:
https://windows.php.net/download#php-7.0 -> VC14 x64 Non Thread Safe -> https://windows.php.net/downloads/releases/php-7.0.31-nts-Win32-VC14-x64.zip
Nginx - nginx-1.14.0:
http://nginx.org/en/download.html -> http://nginx.org/download/nginx-1.14.0.zip
RunHiddenconsole:从网上搜索一个就行
MySQL5.7解压版安装,请查看。
二、解压
创建目录如下:
d:/wnmp/nginx-1.14.0 # nginx服务目录
d:/wnmp/php-7.0.31 # php目录
d:/wnmp/www # 服务器根目录
并解压php,nginx到上面对应目录里。
三、配置
PHP:
在D:\xjz\wnmp\php-7.0.31目录里,找到php.ini-development文件,复制并修改文件名为php.ini,打开此文件,修改如下:
; On windows:
; extension_dir = "ext"
extension_dir = "D:\xjz\wnmp\php-7.0.31\ext"
extension=php_curl.dll
extension=php_mbstring.dll
extension=php_exif.dll ; Must be after mbstring as it depends on it
extension=php_mysqli.dll ; PHP支持mysqli
extension=php_pdo_mysql.dll ; PHP支持pdo
cgi.fix_pathinfo=1 ;PHP支持nginx
date.timezone = 'Asia/Shanghai'
Nginx:
在D:\xjz\wnmp\nginx-1.14.0目录里,打开nginx\conf下的nginx.conf文件来配置nginx(最好先备份一下),修改如下。
location / {
root D:/xjz/wnmp/www; #将站点的根目录定位在D:/xjz/wnmp/www上
index index.html index.htm index.php;
}
去掉注释并修改下列内容。
location ~ \.php$ {
root D:/xjz/wnmp/www;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
# 这里$document_root指的是上面定义好的nginx根目录:D:/xjz/wnmp/www
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
四、启动:
在CMD模式下切换到D:\xjz\wnmp\php-7.0.31,然后执行php-cgi.exe -b 127.0.0.1:9000 -c d:/xjz/wnmp/php-7.0.31/php.ini,执行后没有任务输出,但不能停止。
另打开一个cmd,并切换到D:\xjz\wnmp\nginx-1.14.0,执行start nginx。
在根目录下(D:/xjz/wnmp/www)新建一个文件phpinfo.php。编辑此文件,输入<?php phpinfo();?>
在浏览器中打开localhost/phpinfo.php。如果出现php标识内容,说明php在nginx中运行成功
五、批处理启动php-cgi,nginx
把上面准备的RunHiddenConsole.exe文件,放到D:\xjz\wnmp\nginx-1.14.0目录里。
在D:\xjz\wnmp\nginx-1.14.0目录里新建start_nginx.bat,stop_nginx.bat。
start_nginx.bat文件内容如下:
@echo off
REM Windows 下无效
REM set PHP_FCGI_CHILDREN=5
REM 每个进程处理的最大请求数,或设置为 Windows 环境变量
set PHP_FCGI_MAX_REQUESTS=1000
echo Starting PHP FastCGI...
RunHiddenConsole D:/xjz/wnmp/php-7.0.31/php-cgi.exe -b 127.0.0.1:9000 -c d:/xjz/wnmp/php-7.0.31/php.ini
echo Starting nginx...
RunHiddenConsole D:/xjz/wnmp/nginx-1.14.0/nginx.exe -p D:/xjz/wnmp/nginx-1.14.0
stop_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
六、连接Mysql
在D:/xjz/wnmp/www下创建一个mysql_pdo.php文件,填写内容如下(根据自己的情况,作适当修改即可):
<?php
$dsn = 'mysql:dbname=db_xxx;host=127.0.0.1;port=3307;charset=UTF8';
$user = 'root';
$password = '123456';
try {
$dbh = new PDO($dsn, $user, $password);
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
$sql = 'select count(*) from table_xx;';
$re = $dbh->query($sql);
print_r($re);