请问 9102年了,Windows 上面开发 PHP 最好的环境应该是什么样的

用过很多一键包,像 xampp 这种不太方便建立虚拟主机(也许是被宝塔的面板惯坏了),但是新版的宝塔不支持家用版本,无奈尝试了 wsl 这种虚拟环境,结果出现了很多文件不同步,IO 问题,长时间 502,以及不能很好地自启动什么的。(菜是原罪),还有尝试过 vm 虚拟机,以及 docker 什么的。

应用一般会上线 linux,所以希望一些伪静态等配置能够和 linux 同步,最大程度还原 linux 环境,大家一般是使用的什么环境呢?或者是什么系统在开发 PHP 呢?

附言 1  ·  5年前

对了 忘了说了:

还需要兼顾代码上传 git 的方便性 以及多人协作 考虑测试人员或者前端人员的方便连入等因素

最佳答案

使用 docker 搭建所需要的环境

优点:

  • 使用 docker-compose 编排容器,一键 start|stop|restart 任何服务
  • yml 配置文件加上不同版本的服务,可以任意切换版本
  • 保持数据的持久化,只需要加上映射目录,并且代码热更新
  • 安装扩展有 docker 方面有自带的 docker-php-ext-install,docker-php-ext-enable 命令,非常方便
  • 容器交互有 exec -it service(服务名称) /bin/bash 命令,和 linux 下一摸一样的开发体验
  • 一次搭建多处运行,将镜像上传,使用时直接拉取运行容器指定端口,目录即可

缺点:

  • windows 下需要开启 hyper-v 虚拟功能
  • 较占内存及资源,8G 是最基础配置,最好 16G 起步

IDE 首选大国重器 PHPstorm (墙裂推荐,jet 家族出品,必属精品)
优点:

  • 基础功能不多说,自动补全,智能提示修复,go to,自定义主题等等
  • VCS 控制台功能非常强大,带有可视化面板以及修改代码高亮显示,右键可直接查看版本对比差异等
  • Run \ DeBug 配置强大,支持 单文件,文件夹以及 composer autoload,远程文件等,让 PHP 调试变得触手可及
  • 内置 docker 插件,配合 docker 实时查看容器运行状态
  • 强大的终端支持,可以设置 Powshell 或者 shell 或者 gitbash

缺点依然是占用资源较大

目前我自用的机器是

  • windows 10 内存 8G
  • docker for windows 1903,分配资源 2 核 2G
  • PHPstorm 1902 日常使用占用 1G 左右
    加上谷歌浏览器
    内存稳定在 85-90% 左右,体验一般

如果题主内存够大建议上 docker + PHPstorm ,简直完美

5年前 评论
讨论数量: 56

WAMP

不行?

可以试试 Laragon ,神器

5年前 评论
YangYongAn (楼主) 5年前
YangYongAn (楼主) 5年前

@Larawa 发现 Laragon 重启 Nginx 老是重写配置文件是什么道理啊

5年前 评论
Larawa 5年前
MomentD 4年前

搞一台 Linux VPS,PhpStorm 自动同步代码到 VPS 上测试,跟生产环境一毛一样 :see_no_evil:

5年前 评论
lovecn 5年前
YangYongAn (楼主) 5年前
小李世界 5年前
诺大的院子 (作者) 5年前

不是应该用 Homestead 吗? :blush:

5年前 评论
YangYongAn (楼主) 5年前
NiceYu

安装个 docker 自己做一个集成环境就好了

5年前 评论
aodaobi

不管是 win 还是 mac 一直都是 vm 虚拟机

5年前 评论
YangYongAn (楼主) 5年前
NiceYu

@vsenver 很早之前用 winphpstudy,现在都是用 docker-compose 一个文件搞定了,可以直接集合 mysql redis phpmyadmin phpredisadmin 和 各种 php 版本这些,比较合适简单,如果要发布线上可以打包整个镜像丢上去线上

5年前 评论
YangYongAn (楼主) 5年前
NiceYu (作者) 5年前
YangYongAn (楼主) 5年前

工具:VirturlBox+Xshell
环境:win10+sublime && 任意 linux 版本 +(自己服务器上的生产环境)
核心要点,在 Win10 下面共享一个文件夹(假设为 work),然后将 work 目录 mount 到 ubuntu 里面,加入开机启动项即可。
挂载磁盘命令
mount -t cifs //192.168.31.175/work /work -o username=user,password=pwd,dir_mode=0777,file_mode=0777,vers=2.0

file
拒绝其它花里胡哨的套件工具什么的,相信我已经折腾过很多环境了。我这个方法是最省事情最靠谱的。
VB 可以开机后台运行,暂用资源极少。

5年前 评论
YangYongAn (楼主) 5年前

目前使用 laradock,虽然有些坑要踩 (安装扩展),但是 windows 下开发还是很好用的 :stuck_out_tongue_winking_eye:

5年前 评论
YangYongAn (楼主) 5年前
circle

wsl

5年前 评论
YangYongAn (楼主) 5年前
circle (作者) 5年前
Hesunfly

使用 Homestead 或者 docker 比较好,最接近服务器环境 。

5年前 评论
YangYongAn (楼主) 5年前
Yurun

PHPStudy 吧,wsl 的话选择的就多了

5年前 评论
YangYongAn (楼主) 5年前
Yurun (作者) 5年前
YangYongAn (楼主) 5年前
Yurun (作者) 5年前

VirturlBox+Vagrant

5年前 评论
YangYongAn (楼主) 5年前

直接上 docker 运行镜像的时候 映射目录 就行了
下次运行开机直接 docker restart id
就行了 改什么都是即时的

5年前 评论
YangYongAn (楼主) 5年前
kapai (作者) 5年前
yangweijie

phpenv 不是有 nginx phpcustom

5年前 评论

vm 虚拟机里面装 docker,在 docker 里面跑三个容器,php,nginx,mysql

5年前 评论
BetterToBe (作者) 5年前

都 9012 了,还用 window 开发? :joy:

5年前 评论
YangYongAn (楼主) 5年前
L学习不停 5年前

Manjaro,非常推荐!

5年前 评论
itxq

安装 wsl2,在 wsl2 中安装 docker。开发环境全部容器化。完美

5年前 评论

ubuntu 子系统 + 宝塔

5年前 评论

使用 docker 搭建所需要的环境

优点:

  • 使用 docker-compose 编排容器,一键 start|stop|restart 任何服务
  • yml 配置文件加上不同版本的服务,可以任意切换版本
  • 保持数据的持久化,只需要加上映射目录,并且代码热更新
  • 安装扩展有 docker 方面有自带的 docker-php-ext-install,docker-php-ext-enable 命令,非常方便
  • 容器交互有 exec -it service(服务名称) /bin/bash 命令,和 linux 下一摸一样的开发体验
  • 一次搭建多处运行,将镜像上传,使用时直接拉取运行容器指定端口,目录即可

缺点:

  • windows 下需要开启 hyper-v 虚拟功能
  • 较占内存及资源,8G 是最基础配置,最好 16G 起步

IDE 首选大国重器 PHPstorm (墙裂推荐,jet 家族出品,必属精品)
优点:

  • 基础功能不多说,自动补全,智能提示修复,go to,自定义主题等等
  • VCS 控制台功能非常强大,带有可视化面板以及修改代码高亮显示,右键可直接查看版本对比差异等
  • Run \ DeBug 配置强大,支持 单文件,文件夹以及 composer autoload,远程文件等,让 PHP 调试变得触手可及
  • 内置 docker 插件,配合 docker 实时查看容器运行状态
  • 强大的终端支持,可以设置 Powshell 或者 shell 或者 gitbash

缺点依然是占用资源较大

目前我自用的机器是

  • windows 10 内存 8G
  • docker for windows 1903,分配资源 2 核 2G
  • PHPstorm 1902 日常使用占用 1G 左右
    加上谷歌浏览器
    内存稳定在 85-90% 左右,体验一般

如果题主内存够大建议上 docker + PHPstorm ,简直完美

5年前 评论

windows php 环境使用 docker+wsl(ubuntu 子系统)最好,终端使用 hyper,使用了半年没有任何问题。有问题可以私聊

5年前 评论

windows + vmware + docker. 虚拟机可以备份克隆,换机直接导入就可以.windows 娱乐,vmware 开发

3年前 评论
YangYongAn (楼主) 3年前

有个 dns 代理的 + nginx+php+mysql 优雅的一批

3年前 评论