¿Qué es seguro para subprocesos o no para subprocesos en PHP?

Seguro para subprocesos: se utiliza para garantizar que cuando la estructura de datos compartida que es manipulada por diferentes subprocesos no entre en la condición de carrera. Se recomienda la seguridad de subprocesos cuando el servidor web ejecuta varios subprocesos de ejecución simultáneamente para diferentes requests. En Thread Safety, el binario puede funcionar en un contexto de servidor web de subprocesos múltiples. Thread Safety funciona creando una copia de almacenamiento local en cada hilo para que los datos no colisionen con otro hilo.
Por ejemplo:

  • Apache + módulo de carga
  • IIS

Non-thread-safe: no comprueba la seguridad de los hilos, lo que hace que se ejecute más rápido pero, al mismo tiempo, se vuelve más inestable y se bloquea con mucha frecuencia. Se refiere a compilaciones de un solo hilo. En versión non-thread safe binarios de uso generalizado en el caso de interacción con un servidor web a través del protocolo FastCGI, al no utilizar multi-threading.
Por ejemplo:

  • Apache + FastCGI
  • IIS + FastCGI

Así que depende de la forma en que quieras usar PHP. AFAIR ejecutar PHP con fastCGI es la forma preferible. Si no sabe qué versión de PHP está instalada en su sistema, hay una manera fácil de saberlo.
Verifique la versión de PHP Thread safe o Non Thread Safe instalado:
abra un phpinfo() y busque la línea Thread safety para una compilación segura para subprocesos que debe encontrar habilitar.

  • En Windows:
    php -i|findstr "Thread"
    
  • En *nix:
    php -i|grep Thread
    
  • En ambos casos se mostrará cualquiera
    Thread Safety => enabled
    //or
    Thread Safety => disabled
    

Publicación traducida automáticamente

Artículo escrito por A_K_Mishra y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *