为什么在 prod-serv 上不鼓励在 php 中使用 pcntl 库?

发布于 2024-10-16 06:56:53 字数 96 浏览 5 评论 0原文

谁能告诉我为什么不鼓励在生产服务器上使用 pcntl lib? PHP 手册非常简短地介绍了它,我非常需要使用这个库...... 有没有另一种方法可以在 php 中做同样的事情?

Can anybody tell me why using the pcntl lib on production servers is discouraged? The PHP manual tells very briefly about it, and I'm in a dire need to use this library...
Is there another way to do the same thing in php?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

依 靠 2024-10-23 06:56:53

在生产环境中不鼓励使用 pcntl,因为它支持的功能(分叉、进程控制、信号处理)是相当明确的,您不应该在 CGI 样式应用程序中使用这些功能。现在,如果您正在用 PHP 编写守护程序或命令行应用程序,那就是另一回事了......

来自 PHP 手册

不应在 Web 服务器环境中启用进程控制,如果在 Web 服务器环境中使用任何进程控制功能,则可能会发生意外结果。

pcntl is discouraged in production environments because the functionality it supports (fork, process control, signal handling) are fairly explicitly things you should not be using in a CGI style application. Now, if you're writing a daemon or command line application in PHP, that is another matter...

From the PHP manual:

Process Control should not be enabled within a web server environment and unexpected results may happen if any Process Control functions are used within a web server environment.

多彩岁月 2024-10-23 06:56:53

人们必须清楚 php cli 脚本和 sapi/cgi 脚本的区别。
生产系统上的 php 也可能支持 pcntl。

这里重要的是有 2 个 php 配置文件。一种用于 cli,一种用于 cgi 设置。
然后,必须在 cgi 设置中禁用 pctnl,因为真正的安全问题是,在 Web 服务器执行时分叉脚本可能会使僵尸进程淹没系统。

在 cli 环境中,可能需要能够编写 fork 脚本...

one has to be clear about the differences of a php cli script and a sapi/cgi script.
php on production systems may as well have support for pcntl.

the important thing here is to have 2 php config files. one for cli and one for cgi setup.
one then has to disable pctnl in the cgi setup because the real security issue is, that forking a script when executed by the webserver may leave zombie processes flooding the system.

in a cli environment it might be necessary to be able to write scripts that fork...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文