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沒有任何做用,別問我怎麼知道,我當初就搞了好久,沒想到真的是要重啓電腦