各位大侠主要是 PHP 码农,请问贵公司是如何搭建 PHP 开发环境的,谢谢给出建议(在线等)

2016-01-24 18:31:36 +08:00
wsn2009  wsn2009
背景:开发人员的开发环境不统一加上沟通不畅经常测试有冲突,想给他们搞一个开发环境统一起来
疑问:但是 PHP 我一点都不懂,只是懂点 Java 知道 myeclipse 可以有有调试模式,不知道 PHP 代码需要调试吗?我是想着在内网搭建一个 lamp 环境,然后通过 samba 挂在刀每个开发的本地各自开发,但是这样的话会影响调试吗,虽然我都没见过他们调试,老大说为了以后着想,请各位有 PHP 经验的不吝赐教,在线等,我身边的同学都是 android 或者 Java 貌似没啥参考意义,谢谢啦
10163 次点击
所在节点   PHP  PHP
78 条回复
jarlyyn
jarlyyn
2016-01-25 11:24:51 +08:00
@yeyeye

我用 kate 写了 10 来 w 行代码了吧,有啥问题……

php,js 之类又不依赖 ide ……
jarlyyn
jarlyyn
2016-01-25 11:25:15 +08:00
另外

别挂 samba 了,开 ssh 吧,不然你让他们怎么跑测试。
yeyeye
yeyeye
2016-01-25 11:29:11 +08:00
@jarlyyn 记事本写 php utf8 格式会有 BOM 头问题 这是常识吧
hantsy
hantsy
2016-01-25 11:31:53 +08:00
Docker , Vagrant
hantsy
hantsy
2016-01-25 11:33:57 +08:00
@shuson 目前我正在尝试所有开发环境 Vagrant 里面跑 Docker , Windows 的 Docker Toolbox 太坑了。
jarlyyn
jarlyyn
2016-01-25 11:35:03 +08:00
@yeyeye

不好意思,没这个常识……
hantsy
hantsy
2016-01-25 11:37:14 +08:00
@wsn2009 PHP 的原生环境是 Linux ,我觉得还是必须是 Linux 兼容环境来做 PHP 开发。有些 IDE , Editor 是支持远程直接打开文件编辑的,保存就会立即上传。
konakona
konakona
2016-01-25 11:54:47 +08:00
软件包啊,集成包啊!
现在谁还一个一个装...准出问题系列。
mko0okmko0
mko0okmko0
2016-01-25 12:08:25 +08:00
如果你编写 php 的桌面是 windows 的,推荐一个编辑软体:CodelobsterPHPEdition,
他的基本功能免费,有付费外挂,安装前注意看勾选列表,付费的不要装,装了会很烦,一直要钱.
免费序号申请一个帐号就有了.可以一直用,
有彩色代码(还可自订色彩),
自动补码,
变数提示,
debug 扩展连动 php 直接提示哪里错误,
热键排版(ctrl+alt+F)=看得爽.
还支持 html(文字编辑没有视觉化),js,css,xml,json 编辑.

理论上用线上的服务器,用远程编辑是很不错的,但应该上线前想办法不要跟已上线版本混再一起.应该开独立目录挂上独立前缀网址去测试(www.your.com->test.your.com),并将此前缀设为内网或特定外部 IP 才能开启.
资料库也弄一个复制的资料库去玩.
上传保留的文件也是,不要跟在线的上传资料夹混一起.假如上传资料夹是 upfile,就弄一个 upfile_test 资料夹.

这样基本上测试环境跟真实上线环境就非常统一了.

如果想要离线单独开发,需要自己架设一个测试环境,
windows 下用 iis 搭配 PHPManagerForIIS 是非常方便的,可依照目录设定给予不同版本 php,切换版本也是动动滑鼠秒切换.
或是公司用 apache 你就用 apache,用 nginx 就装 nginx,版本和参数尽量相同(直接复制公司主机的参数档嘿嘿嘿).然后找出 hosts 档案将 www.your.com 对应 IP 改成 127.0.0.1 就可单机开发,但改 hosts 将失去看公司真实网址的能力,因为被引导到你的单机环境了.

虽然我是架设 linux 跑 nginx,但我开发是在 win7 用 iis.所以 linux 下的推荐编辑器就不熟了.
iCantus
iCantus
2016-01-25 13:15:07 +08:00
开发工具 zendstudio ,版本控制: git or svn 需要两个服务,一个服务提交到测试版,一个服务从测试版提交到正式版,两个服务都要设置钩子,用于代码同步到 web 环境中。
huobazi
huobazi
2016-01-25 13:23:09 +08:00
这不该是你领导搞定的么?
66beta
66beta
2016-01-25 14:00:11 +08:00
持续开发跨太大,扯到蛋
上 docker 吧,分发一下
另外,我觉得楼主公司是缺少一个 UAT (预生产)环境,有没有专门的测试人员吧。。。
function007
function007
2016-01-25 15:23:57 +08:00
@pizida 主线用 git 一类的版本控制。那玩意肯定不能像每个人的测试路径一样想改就改,得考虑多人编辑的时候的一个冲突问题。

场景就是大家先从私有分支( github 买也行,自己搭也行) clone 代码下来,配置好 PHPstorm 的远程 PHP 测试环境,然后修改、在各自的远程路径里边测试,当他负责的功能在本地测试的差不多之后把 commit 全部 push 上主线。

至于主线修改的效果预览,可以靠 git 的 web hook ,在代码出现变动的时候通知测试服务器更新一下代码。开发 push 完刷新一下主线绑定的测试域名就能看到效果了。
wclssdn
2016-01-25 16:00:19 +08:00
v2ex 上用户这么活跃?
环境的话,一般都是生产环境(集群)、仿真环境(生产环境一致,数据定期同步,通过测试的代码才能上到这里)、测试环境(可提交代码进行测试的环境)、开发环境(一般为一个 linux 虚拟机,给开发同学开帐号即可)
tinyproxy
2016-01-26 01:38:47 +08:00
@codingpp 好奇问一下你用 docker 都自找了哪些麻烦?

PS: 我也觉得 docker 不适合用来解决题主的问题,根据描述感觉他们水平太低,还要求学新东西来解决困境太难了。
miaotaizi
2016-01-26 09:33:36 +08:00
vagrant
git
phpstorm
xdebug
pizida
2016-01-27 09:38:29 +08:00
@function007 感谢你的回答。我大致也是这么想的。以前用过远程调试,不过现在这公司大家都没用到。
1040063186
2019-07-29 18:53:56 +08:00
Windows 上开发我用 phpenv.cn ,phpenv 主打开发环境,开发用起来超级爽。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://tanronggui.xyz/t/253045

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX