cari

Rumah  >  Soal Jawab  >  teks badan

PHP digunakan sebagai latar belakang Apabila permintaan web datang, bolehkah ia diproses menggunakan berbilang proses atau utas?

Dikatakan PHP tidak menyokong pelbagai proses
Jadi adakah senario ini tidak sesuai untuk PHP? Jika saya ingin mengemas kini maklumat seribu data, memuat naik fail sql, dan kemudian melaksanakannya satu demi satu, ia pasti akan menjadi sangat perlahan Bolehkah saya menggunakan fungsi berkaitan pcntl_ dalam kod untuk melaksanakan pemprosesan berbilang proses permintaan ini ?
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.

Ia mengatakan bahawa pcnt tidak sah untuk permintaan http dan hanya terpakai dalam mod cli Bolehkah anda beritahu saya, bagaimanakah PHP harus mengendalikan senario seperti ini? Bolehkah ia hanya dicapai dengan meminjam bahasa lain?

为情所困为情所困2730 hari yang lalu661

membalas semua(4)saya akan balas

  • 过去多啦不再A梦

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

    Boleh guna queue atau swoole

    balas
    0
  • 伊谢尔伦

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

    PHP boleh melakukan concurrency dengan bantuan sambungan

    balas
    0
  • PHPz

    PHPz2017-06-05 11:11:26

    Anda hanya boleh melakukannya dalam satu proses. . Hanya bahagian belakang yang mempunyai keperluan ini. . . Satu proses sudah memadai

    balas
    0
  • 習慣沉默

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

    Bukannya tidak mungkin, cuma masalah sama ada anda tahu cara melakukannya, dan prestasi concurrency menggunakan coroutines adalah sangat baik Walaupun php bukanlah bahasa yang terbaik, ia juga dipandang rendah bahasa. Multi-threading tidak semestinya bagus.

    balas
    0
  • Batalbalas