在Linux平台下使用PHP开发网站

本人php程序员,工作经验即将满一年,现在有跳槽的想法,在拉勾上看了很多中大型公司对php程序员的要求都会提到一点“在Linux平台下使用PHP开发网站”。
本人对这句话不是特别理解,怎样才算在Linux平台下使用PHP开发网站?
在win下开发,然后linux下运行?
在linux下开发,之后在linux下运行?
linux下怎样开发呢?本人对于linux,目前只是知道一些简单指令操作。
希望在这里能有大神、有经验者、大牛为本人解答一下。
无以为报,只能先说感谢——————一个努力的phper!

阅读 19.5k
20 个回答

这句话具体什么含义确实很难搞清楚,这些职位要求都是大家互相抄,很多 HR 对技术一知半解,照样写职位要求。
不管怎么说,只要你熟练使用 Linux,又有何惧呢?


另外:关于 Linux,我认为开发者不是运维,重点在开发,所以在成为大牛前 Linux 要多牛逼也不是必须的,因为更多的PHPer 写的是业务,不是内核。当然,这并不是你不搞 Linux 的借口。Linux 的基础知识 、常用命令还是要的。建议坚持使用一年的 Linux 桌面(可以考虑 UbuntuFedora 这两个发行版),多用 Shell 处理问题(我曾经就是这么干的。),Linux 自然就熟了。我看到很多人说 Linux 下没有好的 PHP IDE,我就郁闷了,难道他们用的都不是 PHPStorm

回答这个问题的各位同仁,你们真的是在linux开发和部署项目的吗?你们真的是了解了“在Linux下开发”的真实需求吗?

举个栗子:求PHP高效遍历文件夹的方法
http://www.oschina.net/question/260395_162648

在Linux上开发,要求你了解Linux下最常见的文件操作、网络操作、异常处理、shell、任务、定时、权限。
不管你是在Windows下开发,还是Linux下开发,只要项目能在Linux上运行,我觉得都可以称为是侠义的Linux上开发。但如果连Linux最核心的大招都不会使用(如awk、sed、shell、lvs、Hdfs、计划任务、多进程),即使是在Linux上开发和部署的,用的还是从Windows上学来的冗长、低效的代码,那我觉得也不叫“Linux上开发”。

我觉得“Linux上开发”可以理解为,可以掌握Linux上开发的常见问题及解决办法、性能优化方法、集群搭建方法,掌握Linux下文件(协议)操作、网络(协议)操作、集群搭建方法,能用Linux命令、扩展,能稳定、快速的解决项目的业务,能使用Linux实现较低成本获取较高的性价比的开发。

高手,善于运用工具,而Linux,就是最终极的武器。你用过了吗,会用吗?

开发是一回事,部署是另外一回事,在win上开发的代码部署到linux上环境上不一定能正常运行,特别涉及到文件权限的问题。所以一般开发php的都要求掌握linux相关的知识,因为大部分php都会部署在linxu server上。

额,说得好像linux下没有php的IDE一样。。。还有linux开发网站怎么就不方便了,除了要兼容调试IE

这句话翻译过来是这样的:
“熟练使用Linux操作系统完成php开发任务”

千万别在Win下开发PHP 绝对的坑~win下写的PHP代码在linux下各种异常难调试,
虚拟机也别用,用了虚拟机自己心里还是有退路的(分手就应该要痛快)
用半年ubuntu,上手了果断centOS,2年内争取archlinux,笔记本的话就mac,mac下开发的php 在linux下运行都是99%兼容的

开发和运行是分不开的,我个人的习惯是改一点,打开网页测试一下。所以关于这个问题我个人的理解就是在Linux下配置整套开发和运行环境,可以直接在Linux下写php代码,通过访问localhost来测试网站。

你不可能每次写完之后都部署到服务器上去运行吧。php打开个文本编辑器就能写,而且apache和mysql在linux底下也有,在哪里不能开发呢?lamp里面那个l就是linux。

或者可以理解为vim你熟练掌握了没?

我曾经也有这样的疑问,但是linux开发网站会非常不方便,除非是mac 电脑。
纯手写的代码可以比得过IDE?

在widows下使用IDE开发PHP网站,在linux托管运行,我就一直是这么干的。

如果要求高一点的话,这句话可以理解为:会在linux下搭建lamp/lnmp,熟练使用常用命令,会查错误日志,针对一些报错能找到解决方案,熟练运用vim。

个人觉得,首先要熟练Linux下php环境的配置,php开发工具、测试工具的使用。

然后熟悉nginx配置,nginx如何运行php的,与apache的比较(apache以php_module方式运行,nginx以fastcgi方式运行)。

另外要懂一些运维知识,懂一些运维知识对开发是有好处的,就像运维人员需要懂点开发一样。

熟练linux下php性能监控,压测。监控CPU使用率,分析php-fpm输出日志,跟踪进程等,这些使用linux命令就可以完成。

个人见解,希望对你有帮助。

其实在你只要服务器环境是linux就行了,开发在windows也无所谓,像我就是用vbox里面装ubuntu来配置LNMP环境,在windows下做开发。不过想要学好linux最好还是装在自己桌面上,推荐ubuntu,cent也行

有什么大的区别么……配置文件基本一样……
桌面发行版开发和windows没什么大区别,IDE都跨平台的……
部署的时候只能SSH连终端而不是windows的远程桌面这是唯一觉得不爽的。
习惯就好。

linux下开发好处不是很多,比如能避免文件名大小写路径反斜杠读写权限等问题,在windows开发你只有部署上去了才能发现!

很简单的,给自己的windows系统装个虚拟机,虚拟机里是centos或乌班图,然后在虚拟机里装php和mysql,部署并测试程序,多试试即可。

楼主可以搜一下LAMP...

我感觉 就是 让你会 lnmp 配置 和一些 linux web 运维的知识 基本上就够了 当然 也有喜欢在linux开发的 这得看个人爱好 我个人感觉 win 和 linux 各有各的好处

不就是想告诉应聘者要自己会搭LAMP或LNMP嘛,这有啥,Centos配配超简单,Linux下写PHP不是也有sublime text嘛,上传用Filezilla,Linux一样搞,这都不是事儿

推荐问题
logo
101 新手上路
子站问答
访问
宣传栏