Red de conocimiento informático - Conocimiento de la instalación - ¿Existe alguna forma de controlar la operación multiproceso en PHP?

¿Existe alguna forma de controlar la operación multiproceso en PHP?

¿Multiproceso en php (el lenguaje de desarrollo principal en la actualidad)? Cuando veas este título, debes pensar que estoy loco…. Pero realmente lo hice.

Esto es lo que hago y he experimentado con ello. Funcionó.

Sabemos que php (el lenguaje de desarrollo principal) no admite subprocesos múltiples, pero nuestro servidor web sí.

Es decir, pueden acceder a él muchas personas al mismo tiempo. Esta es la base para mi implementación de subprocesos múltiples en PHP (el lenguaje de desarrollo principal actual).

Supongamos que estamos ejecutando un archivo .php. Pero en mi programa le pido al servidor web que ejecute otro b.php

y ambos archivos se ejecutarán simultáneamente.

(Nota: después de enviar la solicitud de enlace, el servidor web ejecutará la solicitud independientemente de si el cliente sale)

A veces, queremos ejecutar parte del código en este archivo en lugar de otro archivo. ¿Qué debemos hacer?

De hecho, puedes controlar qué parte del programa a.php (el lenguaje de desarrollo principal actual) se ejecutará mediante un parámetro.

Vea un ejemplo:

//a.php (como lenguaje de desarrollo principal)

código php (como lenguaje de desarrollo principal): -- -------------------------------------------------- -- -------- ------------------

función runThread()

{

$fp = fsockopen(localhost, 80, $errno, $errmsg

fputs($fp, "GET /a.php (como lenguaje de desarrollo principal actual)? act=b "); // El segundo parámetro aquí es el encabezado de solicitud especificado en el protocolo HTTP

//Si no lo hace para comprenderlo, consulte la definición en RFC

fclose($fp);

}

function a()

{

$fp = fopen(result_a.log, w);

fputs($fp, establecido en .Date(h:i:s, time()) .(double)microtime( ) ." " );

fclose($fp

}

función b()

{

$ fp = fopen(result_b.log, w);

fputs($fp, establecido en .Date(h:i:s, time()) .(double)microtime() . " ");