windows下大多咱们都是下载使用集成环境,可是本地已经存在一个集成环境,但不适合项目的需求。所以准备再本身搭建一个环境。php
工具:html
1) 下载 nginx1.14.0(版本根据本身须要下载,本教程使用1.14.0版本)nginx
2) 下载 PHP7.2.11(版本根据本身须要下载,本教程使用7.2.11版本)laravel
3) 下载 RunHiddenConsole 连接:https://pan.baidu.com/s/1gHDrQBqDUFZH4uESNV9aXQ 密码:oq9aweb
(1)解压安装php和nginxwindows
解压安装在指定文件夹。
浏览器
(2)配置php工具
进入php文件夹,找到php.ini-development配置文件并copy一份重命名为php.ini。ui
双击打开php.ini配置文件spa
搜索extension_dir找到配置项,把该配置项设置成php目录下ext的绝对路径(最好是绝对路径,也能够是相对路 径"./ext"),如图:
也可直接去除前面的分号 如:extension_dir = "ext"
ps:左边的;号要删除,该分号做用是注释,即分号后面的内容不参与执行,仅仅是备注。
搜索cgi.fix_pathinfo找到配置项,取消注释并把该配置项设置成1。
cgi.fix_pathinfo
是用来设置在cgi模式下PHP是否提供PATH_INFO信息。
由于nginx默认不会设置PATH_INFO的值,因此须要经过上面的方法来提供。
ps:暂时开启这两个就能够执行了,其余配置项根据本身需求开启,不一一说明
(3)配置nginx
打开nginx文件夹,conf里面的nginx.conf配置文件
主要修改如下地方:
server { listen 80; server_name dev.com; //访问的域名 root F:\laravel\public; //laravel的位置 #charset koi8-r; #access_log logs/host.access.log main; location / { index index.html index.htm index.php; try_files $uri $uri/ /index.php?$query_string; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } # proxy the PHP scripts to Apache listening on 127.0.0.1:80 # #location ~ \.php$ { # proxy_pass http://127.0.0.1; #} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; //php启动的配置 fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
(4)开启nginx和php-cgi
开启nginx:打开cmd命令提示符输入命令,start nginx。(本身配置全局变量)
或者进入到nginx目录下,输入命令 nginx.exe,开启nginx
nginx.exe -s reload 重启
nginx.exe -s quit 关闭
若是出现异常请查看logs文件夹下的日志解决
开启php-cgi.exe
在php的文件夹下执行
php-cgi.exe -b 127.0.0.1:9001 -c php.ini
就是php目录下的 php-cgi.exe和php-ini文件,加上绝对路径,端口号要跟nginx的对上!
一直停在这里是正常滴
这个窗口是不能关的,一旦管理,php-cgi就会关闭,就不能解析php文件。
是否是很麻烦不能最小化,咱们如今就来教你怎么解决。
为了节省时间能够用批处理来打开/关闭Nginx和php-cgi,
这里用到RunHiddenConsole(用来隐藏CMD命令窗),网上一搜大把,本文开头也给出了下载地址,下载后把RunHiddenConsole.exe和批处理文件放在同一级目录就行啦,是不用双击打开安装什么滴,别辣么傻,我傻就好了。
编写批处理文件(.bat就是批处理文件,有兴趣学的能够学些)
启动nginx和php-cgi批处理文件start.bat(文件名本身喜欢)
start.bat
@echo off set PHP_FCGI_MAX_REQUESTS = 1000 echo Starting PHP FastCGI... rem 下面这里的分别替换成你的php-cgi.exe和php.ini的路径 ,后面的-b,-c等参数必须保留且注意先后空格 RunHiddenConsole E:\self\soft\php-7.2.11/php-cgi.exe -b 127.0.0.1:9001 -c E:\self\soft\php-7.2.11/php.ini echo Starting nginx... rem 注意替换成你的nginx目录 E:\self\soft\nginx-1.14.0/nginx.exe -p E:\self\soft\nginx-1.14.0/ cd D:/webServer/nginx-1.5.2/ pause
关闭批处理文件 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
批处理文件双击就能运行。
若是有人发现,端口号对上了,可是浏览器访问php文件,只下载并无解析,为何会这样,明明百度了那么多教程,配置怎么看都没有问题?
其实很简单,重启电脑!是的,就是重启电脑。重启nginx没有任何做用,别问我怎么知道,我当初就搞了好久,没想到真的是要重启电脑