windows下搭建nginx+php+laravel开发环境(转)

时间:2022-07-16 20:38:29

1.前言

  windows下大多我们都是下载使用集成环境,但是本地已经存在一个集成环境,但不适合项目的需求。因此准备再自己搭建一个环境。

 

2.准备

  工具:

   1) 下载 nginx1.14.0(版本根据自己需要下载,本教程使用1.14.0版本)

  windows下搭建nginx+php+laravel开发环境(转)

    2) 下载 PHP7.2.11(版本根据自己需要下载,本教程使用7.2.11版本)

    3) 下载 RunHiddenConsole 链接:https://pan.baidu.com/s/1gHDrQBqDUFZH4uESNV9aXQ 密码:oq9a

3.安装

  (1)解压安装php和nginx

    解压安装在指定文件夹。
    windows下搭建nginx+php+laravel开发环境(转)

  (2)配置php

    进入php文件夹,找到php.ini-development配置文件并copy一份重命名为php.ini。

    双击打开php.ini配置文件

    搜索extension_dir找到配置项,把该配置项设置成php目录下ext的绝对路径(最好是绝对路径,也可以是相对路  径"./ext"),如图:

    windows下搭建nginx+php+laravel开发环境(转)

               也可直接去除前面的分号     如:extension_dir = "ext"

    ps:左边的;号要删除,该分号作用是注释,即分号后面的内容不参与执行,仅仅是备注。

    

    搜索cgi.fix_pathinfo找到配置项,取消注释并把该配置项设置成1。

    windows下搭建nginx+php+laravel开发环境(转) 

    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的对上!

    windows下搭建nginx+php+laravel开发环境(转)

 4.批处理文件

    一直停在这里是正常滴

windows下搭建nginx+php+laravel开发环境(转)

 

      这个窗口是不能关的,一旦管理,php-cgi就会关闭,就不能解析php文件。

  是不是很麻烦不能最小化,我们现在就来教你怎么解决。

  为了节省时间可以用批处理来打开/关闭Nginx和php-cgi, 

  这里用到RunHiddenConsole(用来隐藏CMD命令窗),网上一搜大把,本文开头也给出了下载地址,下载后把RunHiddenConsole.exe和批处理文件放在同一级目录就行啦,是不用双击打开安装什么滴,别辣么傻,我傻就行了。

  编写批处理文件(.bat就是批处理文件,有兴趣学的可以学些)

  启动nginx和php-cgi批处理文件start.bat(文件名自己喜欢)

  start.bat

windows下搭建nginx+php+laravel开发环境(转)
@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
windows下搭建nginx+php+laravel开发环境(转)

      关闭批处理文件 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没有任何作用,别问我怎么知道,我当初就搞了很久,没想到真的是要重启电脑