Windowns Server 2016 + Nginx 1.10.2 + PHP 7.1.0 + Laravel 5.3 + Mariadb 10.1.19 开发环境设置

时间:2021-09-24 22:14:09

1.设置PHP

1.1.官网下载PHP
http://windows.php.net/downloads/releases/php-7.1.0-nts-Win32-VC14-x86.zip

1.2.解压到 c:\wnmp\php 在提示符下,测试是否成功
D:\>c:\wnmp\php\php.exe -v

1.3.,设置系统变量path,指向c:\wnmp\php 重启生效
D:\>php -v
D:\>php -m

1.4.到官方网站下载 php_xdebug-2.5.0-7.1-vc14-nts-x86_64.dll

1.5.复制 c:\php\php.ini-development 并且重命名为 c:\php\php.ini,修改 php.ini 找到以下内容,去掉备注使指定的扩展生效:

extension_dir = "ext"
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_openssl.dll
extension=php_pdo_mysql.dll
extension=php_pdo_sqlite.dll

zend_extension="php_xdebug-2.5.0-7.1-vc14-nts-x86_64.dll"

[Xdebug]
;是否开启自动跟踪
xdebug.auto_trace=On
;是否开启异常跟踪
xdebug.show_exception_trace=On
;是否开启远程调试自动启动
xdebug.remote_autostart=On
;是否开启远程调试
xdebug.remote_enable=On
;允许调试的客户端IP
;远程调试的端口(默认9000)
xdebug.remote_port=9001
;调试插件dbgp
xdebug.remote_handler=dbgp
;是否收集变量
xdebug.collect_vars=On
;是否收集返回值
xdebug.collect_return=On
;是否收集参数
xdebug.collect_params=On
;跟踪输出路径
xdebug.trace_output_dir="c:\xdebug"
;是否开启调试内容
xdebug.profiler_enable=On
;调试输出路径
xdebug.profiler_output_dir="c:\xdebug"
xdebug.remote_host=vico.io
xdebug.idekey=PHPSTROM

设置以下内容,防止攻击者欺骗PHP去执行非法代码
cgi.fix_pathinfo=0

2.设置Nginx

2.1官网下载Nginx
http://nginx.org/download/nginx-1.10.2.zip

2.2.解压到c:\nginx,在提示符下,测试是否成功
c:\nginx\nginx.exe -V

2.3.打开C:\nginx\conf\nginx.conf,删除原来并替换成以下内容

worker_processes 1;

events {
worker_connections 1024;
}

http {
include mime.types;
default_type application/octet-stream;

#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';

#access_log logs/access.log main;

sendfile on;

keepalive_timeout 65;

include vhost/*.conf;
}

2.4.新建目录 vhosts ,并添加新的设置文件 C:\wnmp\nginx\conf\vhosts\web.conf 输入以下内容

server {
listen 80;
server_name localhost;
set $root "D:/Repo/laravel5/public";

location / {
root $root;
index index.php index.html index.htm;
try_files $uri $uri/ /index.php?$query_string;
}

error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
location ~ \.php$ {
root $root;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

}

3.设置composer
3.1.官网下载composer安装包
https://getcomposer.org/Composer-Setup.exe

***如果exe没法安装成功,

也可以下载composer.phar。并将 composer.phar 复制到 PHP 的安装目录下面。

在 PHP 安装目录下新建一个 composer.bat 文件,并将下列代码保存到此文件中。

@php "%~dp0composer.phar" %*

执行 composer.bat 即可

在提示符下,输入composer -v

***

3.2.安装完成后,查看是否安装成功(必须先安装好PHP,并且设置好openssl扩展)

默认安装到以下目录 C:\ProgramData\ComposerSetup\bin\composer.phar
D:\>composer -V

3.3.更改composer国内源
composer config -g repo.packagist composer https://packagist.phpcomposer.com

3.4.composer自更新
composer self-update

4.laravel项目初始化(假定项目目录在d:\repo)

4.1.通过composer,在当前目录,初始化新的laravel项目(时间稍长)

cd d:\repo

composer create-project laravel/laravel --prefer-dist laravel5

4.2 Lavel扩展包之:Laravel IDE Helper

composer require barryvdh/laravel-ide-helper

php artisan clear-compiled

php artisan ide-helper:generate

php artisan optimize
 
还可以在composer.json的post-update-cmd中加入命令保证helper在每次commit都会更新,如下:
 

php artisan clear-compiled",

"php artisan ide-helper:generate",
"php artisan optimize"

5.服务启动设置

5.1.下载 RunHiddenConsole.exe.rar ,解压文件到 C:\wnmp 下

5.2.创建 nginx_start.bat ,录入以下内容

@echo off

echo Starting PHP FastCGI...

C:\wnmp\RunHiddenConsole.exe C:\wnmp\PHP\php-cgi.exe -b 127.0.0.1:9000 -c C:\wnmp\PHP\php.ini

echo Starting nginx...

C:\wnmp\RunHiddenConsole.exe C:/wnmp/nginx/nginx.exe -p C:/wnmp/nginx

echo. & pause

5.2.创建 nginx_stop.bat ,录入以下内容

@echo off

echo Stopping nginx...

taskkill /F /IM nginx.exe > nul

echo Stopping PHP FastCGI...

taskkill /F /IM php-cgi.exe > nul

echo. & pause

exit

6.下载php7的 php_memcache.dll (要对应版本)

https://github.com/nono303/PHP7-memcahe-dll/tree/master

解压php_memcache.dll 文件到 C:\php\ext下

修改 php.ini 添加以下内容
extension=php_memcache.dll

7.phpstorm xdebug

Windowns Server 2016 + Nginx 1.10.2 + PHP 7.1.0 + Laravel 5.3 + Mariadb 10.1.19 开发环境设置

Windowns Server 2016 + Nginx 1.10.2 + PHP 7.1.0 + Laravel 5.3 + Mariadb 10.1.19 开发环境设置

Windowns Server 2016 + Nginx 1.10.2 + PHP 7.1.0 + Laravel 5.3 + Mariadb 10.1.19 开发环境设置

Windowns Server 2016 + Nginx 1.10.2 + PHP 7.1.0 + Laravel 5.3 + Mariadb 10.1.19 开发环境设置

Windowns Server 2016 + Nginx 1.10.2 + PHP 7.1.0 + Laravel 5.3 + Mariadb 10.1.19 开发环境设置

phpstorm安装Laravel插件

打开File->Settings->Plugins,在搜索框中搜索Laravel Plugin,如果没有安装就会出现 Install按键

 phpstorm配置laravel-ide-helper

composer require barryvdh/laravel-ide-helper

点开项目根目录下的composer.json,会出现laravel-ide-helper安装成功后的选项

app/config.php的providers选项中注册服务提供者:

Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class,

为了后续方便,你也可以在 composer.json 文件中的scripts中作如下配置:

"scripts": {
   "post-update-cmd": [
       "Illuminate\\Foundation\\ComposerScripts::postUpdate",
       "php artisan clear-compiled",
       "php artisan ide-helper:generate",
       "php artisan optimize"
   ]
}