windows 10下搭建php开发环境

WSL正式版

随2017年秋季的Windows 10 Creators Update版发布,WSL,即Windows Subsystem for Linux摘掉了Beta的帽子。

WSL是直接以原生子系统的方式运行Linux(正如win32也是windows的子系统),这相对于虚拟化的方式运行Linux可以有更好的性能,以及更方便的交互:

  • Linux子系统与windows共享IP
  • Linux里面可以直接以/mnt/c的路径访问windows c盘下的所有文件
    • windows也可以通过类似 %USERPROFILE%\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc的路径去访问子系统的文件,但是不推荐
    • 这可能会导致文件系统混乱
    • 并且也建议关闭上述路径的实时文件反病毒扫描以提高性能
  • Windows与Linux间直接使用unix socket通讯

简单的说,就是直接以原生的方式同时无缝使用Windows跟Linux两套系统。

安装

WSL的安装与启用这里就不累述了,Creators Update发布后,基本上就是去Windows Store找ubuntu,点安装这事就结了。

《windows 10下搭建php开发环境》 2018-05-31-10-29-55.png

当然,除了Ubuntu 16.04 / 18.04,它也支持Debian、SUSE等。

php

安装好ubuntu后,nginx、php的安装也就是一路apt-get install即可:

sudo apt-get update
sudo apt-get install nginx
sudo apt-get install php-fpm php-mysql

具体可以参考这里

要注意的是,WSL目前的版本似乎对Unix Socket的支持似乎还是有bug,需要关闭 fastcgi_buffering,即添加:

fastcgi_buffering off;

nginx.conf文件中http环节。

(定位这个bug,折腾了我一整个下午。 >_< )

为什么要使用WSL呢?

我不推荐使用各种windows版的apache、php甚至mysql等去搭建开发环境,因为这与一般的生产环境不一致。

工程师应该使用跟生产环境尽可能一致的环境去做开发,以方便了解自己的程序在服务器上的是怎么部署的。

像上面提到的fastcgi_buffering参数,在压测的时候,肯定是会对性能有影响;了解其存在,便可以对性能进行调优;并且这样的调优,跟生产环境一致,便可以跟运维的童鞋有更多的共同语言。

传统上,我们会需要使用虚拟机去达到这样的目的;而现在,在windows 10上,我们可以有WSL这样更快更方便的选择。

因为WSL可以直接访问windows的硬盘,我们还可以直接把nginx网站的root配置为/mnt/c/Users/....等路径,以使用windows下各种成熟的IDE、编辑器去管理、修改代码。

WSL带来的开发体验,已经可以超过mac了。 :)

    原文作者:玩家翁伟
    原文地址: https://www.jianshu.com/p/f3cbe83ae270
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞