PHP中的内存管理与Python中的内存管理有何不同?

alg*_*der 9 php python webserver garbage-collection memory-management

它们的处理方式有何不同?

具体来说,为什么在生产级长期应用程序(如Web服务器)中使用Python时常见问题,而PHP却没有给出类似的效率级别?

The*_*can 8

PHP被设计为超文本脚本语言.每个过程都设计为在很短的时间后结束.所以内存管理和GC基本没关系.

然而,PHP的易用性和普及性已经在长期存在的程序(如守护进程,大量计算,套接字服务器等)中调用了它.

PHP 5.3引入了许多功能和修复,使其适用于此类应用程序,但在我看来,内存管理在这个问题上意义不大.

PHP的错误管理现在非常好,但是就像我所知道的每种编程语言一样,你可以产生内存泄漏.

您仍然无法使用与编写Java或Python应用程序相同的样式进行编码.许多PHP程序可能会显示Java/Python不会遇到的严重问题.

你可以把它描述为"更糟糕",但我不会.PHP只是一组不同的工具,你必须处理不同的工具.

我工作的公司有很多用PHP编写的系统程序和守护进程,它们像魅力一样运行.

我认为,当你描述"生产级长期应用程序"时,PHP的最大警告是它的多处理和线程化能力(第二个基本上是不存在的).

当然,有可能分叉进程,访问共享内存,进行进程间通信以及消息队列和内容.但是Python在这方面遥遥领先,因为它是为这样的工作设计的.