Lorsque PHP est utilisé en arrière-plan, une requête Web arrive. Peut-elle être traitée à l'aide de plusieurs processus ou threads ?
为情所困
为情所困 2017-06-05 11:09:26
0
4
656

On dit que PHP ne prend pas en charge le multi-processus.
Alors ce scénario ne convient-il pas à PHP ? Si je souhaite mettre à jour les informations d'un millier de données, télécharger un fichier SQL, puis l'exécuter l'un après l'autre, cela sera certainement très lent. Puis-je utiliser les fonctions liées à pcntl_ dans le code pour implémenter le traitement multi-processus de cette requête. ?
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.

Il indique que pcnt n'est pas valide pour les requêtes http et n'est applicable qu'en mode cli. Pourriez-vous s'il vous plaît me dire, comment PHP devrait-il gérer ce type de scénario ? Cela ne peut-il être réalisé qu’en empruntant d’autres langues ?

为情所困
为情所困

répondre à tous(4)
过去多啦不再A梦

Vous pouvez utiliser la file d'attente ou le swoole

伊谢尔伦

PHP peut faire de la concurrence à l'aide d'extensions

PHPzhong

Faites-le en un seul processus. . Seul le backend a ce besoin. . . Un seul processus suffit

習慣沉默

Ce n'est pas que ce n'est pas possible, c'est juste une question de savoir si vous savez comment le faire, et les performances de concurrence liées à l'utilisation des coroutines sont très bonnes. Bien que PHP ne soit pas le meilleur langage, il l'est. aussi un langage sous-estimé n'est pas forcément bon .

.
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal