我捣鼓过的几种 PHP 开发环境,和对虚拟机开发环境的想法

起因

最开始都是做一些小项目,当时使用windows集成环境,感觉也蛮好。
但上家公司的项目有点规模,用到很多php拓展(swoole),elastisearch,supervisor那些软件,都要在本机装的。
我windows下装了一下有点麻烦没装起来,搜了网上的安装方法也往往是linux下的教程,看到同事都mac或ubuntu,仅仅为了安装软件方便,我索性也就开始用ubuntu了。
至于开发环境是否与生产环境相近,公司组员开发环境是否相近,是否便携易安装方便在家办公,是否能够全栈开发,我不是太在意的。

配过的几种环境

  1. 直接把机器装成ubuntu或者双系统。这种缺点就是上班的时候很多win软件不能用,如钉钉,navicat这些。
  2. 宿主机是win,起个vmware虚拟机,虚拟机里面搭ubuntu+php环境,直接在虚拟机里写代码跑代码。缺点是电脑配置不高了话,虚拟机里面用ide会有点卡。
  3. 在宿主机win环境下用ide写代码,起个vm虚拟机搭lnmp环境,通过vmware自带的共享文件夹功能同步代码到虚拟机运行。这种方式http速度稍微有点慢,差不多700,800ms。
  4. 用vagrant。phper用vagrant了话,vagrant box肯定是选择homestead,但是homestead也有共享文件夹io问题导致的http慢的问题,而且页面响应长达4-5秒(symfony-demo)。好像能优化,这个问题解决不了就没法用,4,5秒太久了。
  5. docker for windows ,本来windows下要用docker是要先在虚拟机装linux再装docker,现在有docker for windows安装上方便一些,不过我装了也没怎么用过

后记

我现在(发贴2,3月后)没这么纠结这个开发环境问题了,
可能特别完美的本地开发环境不太好追求。各种情况都有点缺点。mac是要均衡一点,但缺点是贵。
只能退而求其次,找到适合自己当前公司项目状况的开发环境也就行了。
比如我现在公司项目多,有的php7有的php5,用windows能切版本的集成套件(我是用的Laragon),感觉也蛮方便的,
我看油管大部分老外也是windows,他们一般用的xampp

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 53

自从在 windows 上用了 homestead ;本来用来写代码的时间都用来解决 homestead 的各种问题了; :joy:

5年前 评论
迟早被自己骚死 4年前
幽弥狂

docker 其实也是可取的。。但是一般情况下都是 win+ 虚拟机。
homestead 的 IO 问题可以解决。。但是会出一些幺蛾子。

5年前 评论
ThinkQ

虚拟机是centeros吗

5年前 评论

@Chasers9527 幺蛾子。。mac下homestead好像就没这个问题。 不过我有mac了话,我可能会也就直接装个mac下的那个集成环境得了,mac也是类unix的

5年前 评论
幽弥狂

@gangpula win下的磁盘IO问题,mac 下没有。Mac 可以直接用 valet,简单方便。。

5年前 评论
ibucoin

集成的可以试试Laragon,用起来还不错。

5年前 评论

homestead还是算了吧,见不得有多稳定,时不时给你来一下

5年前 评论

所以我购买了mac :joy:

5年前 评论

@Chasers9527 valet 难道没遇到过https签名后不能访问的问题么?

5年前 评论
幽弥狂

@丁海军 我用的是http...

5年前 评论
ruke

一般我都只装一个php....我感觉差不多就够用了, php -S也就差不多了

5年前 评论

@Tango 额,那我还是暂时别捣鼓这个了。用3,4那种

5年前 评论

@熊二哈 壕

5年前 评论
MarkMing

我一直在Mac上用Apache开的虚拟主机做开发版,速率比较客观,部署到Linux时改动也很少。

5年前 评论

自从在 windows 上用了 homestead ;本来用来写代码的时间都用来解决 homestead 的各种问题了; :joy:

5年前 评论
迟早被自己骚死 4年前

我也是win下用homestead 不做io优化除了第一次访问慢点 其他均值也在1s左右
如果没上固态建议上固态,或者换个好点子的机器

5年前 评论
幽弥狂

@白俊遥 厉害了。。。

@CorePlusPlus 磁盘 IO 跟固态不固态没关系吧???我的就是放到固态里面了呢。。

5年前 评论

@CorePlusPlus 额,可以试试,我cpu 内存都是很高的配置,固态没加,反正便宜。

5年前 评论
wkan

这种时候当然是买个Mac辣!

新款 MacBook Pro ,不要99,不要999,更不用9999,也就19999吧,也不要来一个 (ಡωಡ)

5年前 评论

@gangpula @Chasers9527 其实现在windows 电脑即便是笔记本CPU基本也都是I5起步了;低配的再加个4G的内存条就够用了;真正的性能问题大多都在硬盘上;有固态硬盘 homestead 的问题就会好很多了;

5年前 评论
幽弥狂

@白俊遥 我的也是固态。。。可能是个假固态吧。。。还是不好用。。

5年前 评论

去年给电脑装了 linux 系统,怕不适应装了双系统 win + linux,之后就一直没用过 win 系统

5年前 评论
幽弥狂

@chaofei 那你可以直接用 linux 啊。。如果有需要就装个 win 的 虚拟机。。。

5年前 评论

docker + win10才是最优解,或者用wsl也是不错的选择

5年前 评论
aodaobi

我能说我是win10自带linux 子系统装了正式环境一样的服务 进行开发的吗 编辑代码直接通过sftp 或者svn

5年前 评论
aodaobi

我自己的使用mac 工作是win10 现在搞得我mac 都不咋习惯了,在公司兼运维工作60台服务器没有xftp和xshell 很蛋疼

5年前 评论
__yu

使用docker laradock很好

5年前 评论
  • 我也试过共享文件夹的做法,但是新建文件经常会出现权限的问题,
  • 而且公司一个项目只能php5.4,另一个至少5.5后来也就习惯phpstudy了
  • 其实还有个做法就是git同时链接远程gitlab和本地的虚拟机的两个仓库,一次推送,两处更改
  • 官方的docker php-fpm 差扩展 装上之后 ,有的扩展还差自己的扩展,试过一次就放弃了
  • 目前 虚拟机上 就用docker 跑着mysql 装mysql这个很方便
5年前 评论

为什么不用神奇的 Ubuntu 呢?
才不会告诉你们自从换了 Ubuntu 头发都掉了半斤

5年前 评论

mac的价格虽高 但是不论是本地配置 还是上服务器都是首选 不仅前期准备工作少 为后期的服务器部署也能学到很多东西

5年前 评论

@漫天风雨下西楼 对,直接用比如vmware虚拟机共享文件夹开发本身倒还好,
虚拟机共享目录代码文件都是显示root 777好像。而且win下推代码还会提示大片文件换行符问题。
我现在还是回归3. docker暂时没空搞了。

5年前 评论
JaguarJack

docker 方便,遇到的环境问题也少。

5年前 评论

大概加上换电脑配了三次homestead都没问题,突然前天出异常了,各种重装卸载,折腾了两天快吐血了,刚删了 :rage:

5年前 评论

为什么用vagrant 就推荐homestead? 没用过homestead

5年前 评论
xianyunyehe

windows 下docker 和vagrant 都是比较费内存的东西。条件允许的 就买个mac pro。

不允许的就装个Ubuntu 。 ubuntu 用来也不必mac 差。 至少是纯正的Linux 内核。 windows下的软件,基本上在Ubuntu下都有替代的,如果没有,就再等等,总会有大神写出来的。 :joy:

5年前 评论
ruodee

@xianyunyehe ubuntu桌面版的吗?

5年前 评论
xianyunyehe

@老好人 是的,因为你需要桌面浏览器,还有ide。基本上你开发需要的东西都有。

5年前 评论

我也捣鼓很多环境开发..
之前用过deppin 深度os,支持部分win软件,里面有win软件模拟器,
ubuntu用过,win软件少
现在一直用 win+VirtualBox(Ubuntu Server版)环境是使用社区里的一键环境部署
[分享:Ubuntu 14/16 下的 Laravel LNMP 线上环境自动部署脚本]

5年前 评论

嗯,各位我已经打算双系统了

5年前 评论
wenqing

我是直接买了个阿里云服务器,然后代码自动提交更新。这样也够用了。

5年前 评论

homestead 一个虚拟机占我12G, 准备弃坑了。

5年前 评论

@KevinYang 我打算要么装双系统,要么装win10然后docker。 都不好用了话,一波闲鱼二手mac

5年前 评论
Destiny

其实我觉得 Mac 下面 Valet 真的很赞,切换环境秒切,配置站点秒配。不用改 hosts

我用到现在没出过什么问题。

5年前 评论

单硬盘装双系统也没那么顺利,还好我双硬盘

5年前 评论

window系统下装vmware跑代码是最合适的,把放代码的目录共享到虚拟机,方便,成本也低。

5年前 评论
circle

各位真的可以考虑一下 wsl,省心、方便关键是跟可以搞成跟生产环境一样的本地

5年前 评论

有个问题,如果在win7环境装Ubuntu虚拟机,怎么解决共享文件夹不能建软连接(node_modules目录)的问题?

5年前 评论

现在我的开发环境直接是实际的生产环境,在mac里用PD安装centos7的虚拟环境,通过共享目录来映射每个版本的php环境,也就不存在切换php版本的问题了,数据库也是虚拟机里面,文件备份也很方便。

file

file

5年前 评论

推荐个windows下的集成环境Laragon,内置很多东西

5年前 评论

@gangpula Mac 下用本机环境也会出现一堆问题例如本机自带的 PHP ,每次Mac版本升级 PHP 就会自动升级,别问我怎么知道的.手动滑稽

5年前 评论

Win10 + Mac,我用起来都觉得行,不要太在乎,但win没有zsh是我很难受的地方。。。。。

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!