作者:momo左 | 来源:互联网 | 2017-05-14 02:18
一般在Linux下以什么方式或工具进行PHP开发?这样有什么好处呢?在Linux下开发需要加强哪方面能力呢?
回复内容:
这里只讲好处
- 保持开发环境和线上环境一致,比如一些开发人员会因为手误写错了文件的大小写,本地win调试一切OK,传上去之后就报错了。再比如,php处理图片如果你不想用自带的GD库而用ImageMagick,代码推上线之后,不需要再麻烦地改动。
- 装软件装扩展是真方便,fedora、ubuntu都有丰富的资源,装个php、mysql,都只是敲几句命令的功夫,win你还得什么xampp、wamp,装完之后你想加个扩展什么的,那就。。。
- 很多软件只有Linux版,或是win版装起来简直想撞墙,比如Memcache,比如以前的nginx。
- git为linux而生,更健壮更稳定,不过gui版就。。。。。省略吐槽部分。。。
- 方便地php编译和php扩展编译,win的编译。。。能别装VC这种怪物级的玩意嘛。。。
- php部署运维用的一些脚本可以直接调试,直接上线使用。
我用PHP已经4年了,最开始用Linux,到后来用Windows,现在用Mac,觉得可以比较浅的说一下题主的问题。
- 一般在Linux下以什么方式或工具进行PHP开发?
编辑器:愧对Linux了,我用的发行版开始是Ubuntu,后来是CentOS,一直没有用VIM或者Emacs这些神器,刚开始用Eclipse,后来一直是Sublime Text。大多数常用的编辑器在Linux下都有对应的版本,这点几乎没什么好说的。
环境:本地搭建LAMP/LNMP,这个没什么好说的。
目前常见的PHP Web服务器几乎都是Linux的。
在Linux上开发,首先可以保证的是代码的兼容性,不会出现例如楼上说的大小写等问题。
第二,大多数Linux的包管理机制对于PHP开发人员来说非常友好,你只需要输入几个简单的命令,修改为数不多的几个配置文件就可以搭建一个性能相当不错的Web服务器,而在Windows下,简直是痛不欲生。
第三,你可以在平时使用Linux的过程中,学到不少基础的Linux知识,这一点对于PHP开发也是非常有必要性的。
想了一下,在Linux下开发好像没什么特殊的要求,只要会使用一些基本的命令就行了。
我的开发方法一直是在本地写代码,同时sublime text配置sftp插件
http://blog.wpjam.com/m/sublime-text-2-sftp/,在保存时同时上传到测试服务器(Linux),代码运行在测试服务器上,非常的方便,和在本地写差不多。因为Sublime支持Linux,Windows,Mac三个平台,所以这种方法是随时可以无痛苦的迁移的。
下面来吐槽一下Linux。我实在不能忍受Linux的图形界面,桌面截图一条龙,运行起来一条虫。Mac、Windows的图形界面都可以秒掉Linux的,不知道是怎么回事,我用Linux老是可以把图形界面搞崩溃,难道是我的坐姿不对?还有恶心的中文输入法,不管怎么配置,连Mac的中文输入都比不上,能和Windows去比?
总结:Linux用来老老实实的做服务器就行了,在你是真的要写代码的情况下,还是建议不要用Linux作为桌面,但是建议让你正在调试的代码跑在Linux的环境下面。
多方面考虑 肯定还是WIN下方便...
1.招人成本问题 不是每一个人都非常熟练LINUX下环境.招这样的人 你得开多少工资.
2.人力培训问题 好吧,你说招个不会的人,来培训成LINUX下开发,总的有人教,有人带吧?再者万一别人实在不习惯,试用期跑路了怎么办?
3.各种扩展问题 除了很冷门的库,基本上都有WIN版..就算没WIN版.能部署到测试环境..开发环境connect到测试环境也可以解决啊?(我们的REDIS,SPHINX就是这样干的).
4.上线部署问题 回答里说环境一致简直是扯淡的...这世界上没人能保证2个环境一模一样...环境相似的问题有很多方案解决啊...例如:测试环境在linux下..模拟线上环境即可... 或者在线上的机器部署个预发布环境..上线之前先测试通过,再到预发布看看..冒烟测试一下..再部署能省事很多了.
还是邓同学说的好 不管黑猫 白猫抓到老鼠 就是好猫...
当然了 凡事也不能绝对.增强自己的linux下开发能力确实对自己有帮助...自个分辨吧.各有各的理
装软件装扩展是真方便,fedora、ubuntu都有丰富的资源,装个php、mysql,都只是敲几句命令的功夫,win你还得什么xampp、wamp,装完之后你想加个扩展什么的,那就。。。
你用过win下的集成环境么???win下加个扩展多简单你知道不???
泻药,
一般用netbeans。
1.完美模拟生产环境。
2.各种包安装起来很是方便,很多独特的软件只有linux版,你想make就make,windows可以么?
3.强迫自己在开发的时间,必须去了解linux这个系统,各种命令,各种环境的搭建,扩展自己的知识面。
如你想做用来工作的话,考虑用类Unix系统吧!
你想娱乐?抱歉,这不是类Unix的特长,就你装个QQ你都得头痛欲裂。
剩下的和@Bruce、 @飞雪连天 说的一样。
在linux 版本管理更方便些... 例如git
一些php框架更喜欢命令行方式... 例如yii
linux操作为以后的构架师做准备.... 例如 以后带技术团队,主要在服务器上开发...
linux更专注于技术.. 例如 QQ很难用...没有QVOD....
好处就是不会写着写着代码觉得好苦逼要不要打一把dota
更接近生产环境的话,能够免去一些细微的问题。比如我遇到过的一个:项目使用了 spl_autoload 自动加载类文件,而 PHP 中类名不是大小写敏感的,Windows 文件名也不是大小写敏感的,于是一切从正常。到了生产环境变成了文件大小写敏感,于是 require 文件失败。
除此以外,PHP 项目不一定是纯粹 PHP 的,其依赖单独编写的后端也是很常见的事情。Linux 下开发可以免去 Cygwin 之类的模拟器,更加方便也更加严密。
理论上与开发平台无关. 但使用linux开发会让你走的更远
开发上用windows还是比较方便 的。别强迫自已一定要用linux,找麻烦哪。