PHP是否具备长期执行能力,例如网络爬行和处理大文件?



我曾经看到一篇文章,建议PHP最初只是为了显示静态网页而构建的,而不是为了实际编程而构建的,因此由于内存泄漏,它在长时间执行中具有严重的缺点。

我知道PHP"可以"用于抓取数十个网页,处理音频/视频文件等,但它"擅长"吗?当然,判断它是否擅长某事应该是一个相对的评价。在这种情况下,ASP/node.js/Python 将是比较。

PHP7.x 是否已改进或适应长时间执行?

这是一个一般的问题,而不是特定的问题。但我认为这篇文章可能会给很多人提供有用的见解。

PHP 对于编写长时间运行的进程来说并不是一个糟糕的选择,主要是从 mod_apache 或 PHP-FPM 启动长时间运行的进程变得过于复杂。

有完整的Web服务器,WebSocket服务器,以及更多用纯PHP编写的服务器,并且运行时间很长,并且运行良好,执行速度可能不如Node.js或Python快,但对于网络/数据库绑定的工作负载,我认为不会有显着差异。

如果你习惯用PHP编程,那么我建议使用它是一个不错的选择。

基于PHP的服务器的一些示例:

  • https://reactphp.org/
  • https://github.com/appserver-io/webserver

这两个示例都是用 PHP 编写的非阻塞服务器。

最新更新