php做后台,一个web请求过来了,能否使用多进程或者多线程来处理?

发布于 2022-09-05 01:18:40 字数 1076 浏览 30 评论 0

都说php不支持多进程,
那这种场景是不是就不适合php了?如果我要更新一千个数据的信息,上传一个sql文件,然后依次执行这样肯定会很慢,能否在代码里利用pcntl_相关的函数来实现多进程处理这个请求呢?
http://php.net/manual/zh/intr...

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.
At least for PHP 5.3.8 which I am using, and who knows how far back, it's not a matter of "should not", it's "can not". Even though I have compiled in PCNTL with --enable-pcntl, it turns out that it only compiles in to the CLI version of PHP, not the Apache module. As a result, I spent many hours trying to track down why function_exists('pcntl_fork') was returning false even though it compiled correctly. It turns out it returns true just fine from the CLI, and only returns false for HTTP requests. The same is true of ALL of the pcntl_*() functions.

这里面说pcnt对http请求无效,只适用再cli模式下,请问大神,php遇到这类场景,如何处理呢?难道就只能借用其他语言来实现么?

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

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

发布评论

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

评论(5

—━☆沉默づ 2022-09-12 01:18:40

可以使用队列或者swoole

じ违心 2022-09-12 01:18:40

PHP可以借助扩展做并发

陌路黄昏 2022-09-12 01:18:40

你一个进程去做不就好了。。只有后台才有这种需求吧。。。一个进程足矣

身边 2022-09-12 01:18:40

不是说不可以,只有你会不会的问题,swoole可以做这个,用协程并发性能很好,php虽然不是最好的语言,但也被低估的语言. 多线程不一定好.

酒浓于脸红 2022-09-12 01:18:40

pcntl和pthreads都只能在cli下运行 cgi下都不行 不过可以试试swoole的rpc

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