在PHP中编写Socket服务器是个好主意吗?
用PHP写Socket服务器是个好主意吗?
这里有一篇相关的文章:http://devzone.zend.com/article/1086
问题:
用其他语言,比如C、C++、Python来写Socket服务器有什么不同呢?
那安全性呢?
速度呢?
“Socket服务器通常会持续运行,像服务或守护进程一样。”
PHP能持续运行吗?它能工作几天、几周、几个月吗?
有没有更好的方法呢?
我需要一个服务,让PHP应用可以连接并发送、接收数据。
1 个回答
3
一般来说,写一个长时间运行的(复杂的)PHP程序并不是个好主意。这是因为PHP在内存管理方面有一些缺陷,特别是它无法释放那些相互引用的结构。还有一些其他对象也会出现内存泄漏的问题。例如,http://uk.php.net/manual/en/function.create-function.php这个函数创建的功能是永远无法释放的;如果你在循环中调用它,最终程序就会崩溃。在其他编程语言中,可以创建会被垃圾回收的函数对象。
不过,如果你小心一点并且进行充分的测试,确实可以用PHP写简单的服务器程序,只要避免那些会导致内存泄漏的操作;在小型简单的程序中,大多数这些问题是比较容易避免的。