【发布时间】:2014-10-08 12:43:08
【问题描述】:
我最近对 PHP 5.4 的内置网络服务器感到好奇。从表面上看,虽然相当简单,但通过足够的工作,可以将传统上依赖于单独 Web 服务器(如 WordPress)的 PHP 应用程序作为独立脚本分发,您可以使用 php -S localhost:80 app.php 运行(或者,更有可能,'./wordpress.sh')。他们甚至可能附带自己的 PHP 解释器,该解释器具有应用程序所需的所有功能,这样就无需针对许多不同版本的语言。
这在某种程度上是在重新发明轮子,但它肯定会增加可移植性并降低最终用户的复杂性。
然而,我在documentation page上看到了以下内容:
此网络服务器旨在帮助应用程序开发。它也可用于测试目的或在受控环境中运行的应用程序演示。它并非旨在成为功能齐全的 Web 服务器。它不应该在公共网络上使用。
这显然是指诸如适当的文件系统安全性和提供正确的 HTTP 标头之类的问题,这些问题可以解决。然而,还有更多吗?在无法解决的生产环境中使用 PHP 的内置 Web 服务器是否存在固有的安全问题和/或技术限制?如果有,它们是什么?
【问题讨论】: