Es wird gesagt, dass PHP keine Multiprozesse unterstützt.
Ist dieses Szenario also nicht für PHP geeignet? Wenn ich die Informationen von tausend Daten aktualisieren, eine SQL-Datei hochladen und sie dann nacheinander ausführen möchte, ist dies definitiv sehr langsam. Kann ich pcntl_-bezogene Funktionen im Code verwenden, um die Mehrprozessverarbeitung dieser Anforderung zu implementieren? ?
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.
Es heißt, dass pcnt für HTTP-Anfragen ungültig ist und nur im CLI-Modus anwendbar ist. Können Sie mir bitte sagen, wie PHP mit einem solchen Szenario umgehen soll? Kann dies nur durch das Ausleihen anderer Sprachen erreicht werden?
可以使用队列或者swoole
PHP可以借助扩展做并发
你一个进程去做不就好了。。只有后台才有这种需求吧。。。一个进程足矣
不是说不可以,只有你会不会的问题,swoole可以做这个,用协程并发性能很好,php虽然不是最好的语言,但也被低估的语言. 多线程不一定好.