Windows 安装 PHP7.3+Nginx1.14.2 环境

安装 PHP

下载 PHP,解压到盘符的任意一目录(我是在 F:\php\php-7.3.1)

PHP 版本介绍 当下使用最多的 php 版本就是 5.6 以及 PHP7+,(如果您还在使用 5 的版本,那么我建议您升级到7以上,目前本篇使用的是 PHP7.3)

而 Windows 下每一个版本又分为为 Non Thread SafeThread Safe

  • Non Thread Safe 非线程安全,在执行时不进行线程(Thread)安全检查(一般与 NginxIIS 搭配使用)
  • Thread Safe 线程安全,执行时会进行线程(Thread)安全检查,以防止有新要求就启动新线程的 CGI 执行方式而耗尽系统资源(一般与 apache 搭配使用)

php 常见的两种执行方式 ISAPI , FastCGI

  • ISAPI 执行方式是以DLL动态库的形式使用,可以在被用户请求后执行,在处理完一个用户请求后不会马上消失,所以需要进行线程安全检查,这样来提高程序的执行效率,所以如果是以ISAPI来执行PHP,建议选择Thread Safe版本。
  • FastCGI 执行方式是以单一线程来执行操作,所以不需要进行线程的安全检查,除去线程安全检查的防护反而可以提高执行效率,所以,如果是以FastCGI来执行PHP,建议选择Non Thread Safe版本。

基于以上 Nginx 选择 非线程安全

配置 PHP

  • 进入解压的 PHP 目录 拷贝 php.ini-development 重命名为 php.ini
  • 编辑 php.ini 找到 ;cgi.fix_pathinfo=1 ,将其注释去掉
    cgi.fix_pathinfo=1

安装 Nginx

下载 Nginx 并解压到环境任意目录 (选择最新稳定版 Stable version 我是在 F:\php\nginx-1.14.2 )

Nginx 环境介绍

  • Mainline version 当前开发版本
  • Stable version 最新稳定版
  • Legacy versions 历史稳定版

配置 Nginx

打开 Nginx 解压目录,进入到 conf/ 目录下,编辑 nginx.conf 文件 修改 location /index 上添加 index.php

location / {
    root   html;
    index  index.php index.html index.htm;
}

将如下注释去掉,并修改 fastcgi_param 为如下信息:

location ~ \.php$ {
    root           html;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME   $document_root$fastcgi_script_name;
    include        fastcgi_params;
}

运行环境

运行 php 环境

进入到 php 解压目录,cmd 下运行如下语句:

php-cgi.exe -b 127.0.0.1:9000 -c php\php.ini

运行 Nginx 环境

进入到 Nginx 解压目录,cmd 下运行如下语句:

nginx.exe -c conf\nginx.conf

进入到 Nginx 解压目录 html 下,新建一个 php 文件

// index.php
<?php
    phpinfo();

然后打开浏览器测试一下,是否可以解析 php

运行以上命令,得保证两个命令窗口不能关闭,否则服务就中断了,因此我们可以使用脚本启动,达到关闭窗口服务也可以运行

脚本启动服务

首先下载一个 RunHiddenConsole.exe ,该文件作用是隐藏 cmd 窗口

点击 此处 下载 RunHiddenConsole.exe

编写两个批处理文件,用于开启 和关闭服务

编写 start.bat

@ECHO off

SET php_home=F:/php/php-7.3.1/
SET nginx_home=F:/php/nginx-1.14.2/

ECHO Starting PHP FastCGI...

RunHiddenConsole %php_home%php-cgi.exe -b 127.0.0.1:9000 -c %php_home%php.ini

ECHO Starting nginx...

RunHiddenConsole %nginx_home%nginx.exe -p %nginx_home%

编写 stop.bat

@ECHO off
ECHO Stopping nginx...  

TASKKILL /F /IM nginx.exe
ECHO Stopping PHP FastCGI...
TASKKILL /F /IM php-cgi.exe

EXIT

将以上 3 个文件 放到你的某一个盘符下,例如我的 F:\PHP

双击 .bat 即可启动或者关闭

您也可以让他开机自启动,直接使用计划任务 使用刚才编写的 start.bat 就可以啦

暂无回复
0 / 180
网站公告

LaravelCode 正式上线啦!

今日诗词
正在加载今日诗词....
极客时间
极客时间
标签云
PHP Laravel API 随想 Node.js Linux Yii2.0 Redis 队列 JavaScript Vue Java MySQL 微信小程序 Python