recherche

Maison  >  Questions et réponses  >  le corps du texte

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 ?

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 ?

为情所困为情所困2763 Il y a quelques jours687

répondre à tous(4)je répondrai

  • 过去多啦不再A梦

    过去多啦不再A梦2017-06-05 11:11:26

    Vous pouvez utiliser la file d'attente ou le swoole

    répondre
    0
  • 伊谢尔伦

    伊谢尔伦2017-06-05 11:11:26

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

    répondre
    0
  • PHPz

    PHPz2017-06-05 11:11:26

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

    répondre
    0
  • 習慣沉默

    習慣沉默2017-06-05 11:11:26

    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 .

    .

    répondre
    0
  • Annulerrépondre