首页 > 开发 > php > 正文

php是否适合做后台长驻程序

2017-09-06 15:06:43  来源:网友分享

我目前使用php作为后台脚本的语言,很多人说php容易内存泄漏什么的,但是现在已经跑了一个月了状况良好。而且现在php已经大大改善了内存的回收机制,再加上它的简便性,实在找不到有什么理由拒绝使用。除了它不支持多线程以外,但是在一些性能要求不高的地方完全没啥问题。

我不知道我的这些考虑是否已经全面,是否有什么遗漏的地方。

解决方案

既然这个问题问的是php 是否适合 做后台常驻程序,我觉得还是应该给一个非常明确的答案,即 不适合

诚如其他答案中所说,php可以实现所有功能,内存问题也逐步变好,这是好事,但这并不是php适合做这件事的理由。要说可以实现功能,采用awk + nc也可以写一个常驻后台的web server且性能不一定比php差,但实际上绝不会有人采用这种geek的技术方案。

php不适合做这件事的理由有三:

  1. php的设计目的是方便的构建动态网页,并非后台服务,使用一种语言工具应当尽可能扬长避短,勉力而为之并不合适。
  2. php缺乏内建的线程和非阻塞机制,采用fork的非阻塞方案已经在好几年前被证明是低效的,并非现在最合适的技术方案
  3. php缺乏制作后台常驻程序的库、框架、成功案例,相比其他在这个领域发展了许多年的语言、或专门为制作后台程序而生的语言(如C、Java、Go等),php并不合适

不过,php就算不适合做后台常驻程序,也并不妨碍它在某些情况下使用,比如

  • 没什么性能压力、对稳定性也没什么特别要求时
  • 必须调用很多php写的库,不方便使用其他语言重写时
  • 开发同学只会写php,又找不到更好的人来实现这个项目时

总之,能不使用php做后台程序就别用,如果用了且未来还会上量,最好早做用其他语言重写的打算吧。