• Inicio
  • Fotografias sobre Japón
  • Fotos

Blog personal de Erikcrane

Feed de
Entradas
Comentarios
« Pasos para intentar arreglar un HD

PHP Non Thread Safe y PHP Thread Safe

oct 27, 2011 by admin

En este post voy a intentar plasmar lo que he entendido de cual es la diferencia entre php no thread safe y php thread safe.

Todo esto viene de que queria instalar Zend Debugger con Xampp. Al seguir los pasos correctamente de un par de guias y no obtener el resultado esperado, me he puesto a investigar sobre el porque.

Lo que he enocntrado es que Zend Debugger, desde la version php 5.2, ya no da soporte a la instalacion de php theread safe. Es decir, que solo se puede instalar Zend Debugger en la version de php no thread safe.

El problema esta en que Xampp (el motivo lo desconzco) utiliza la version no thread safe, y por tanto no puedo instalar Zend Debugger.

Esto ha ocasionado que me tenga que renovar y pasar de xampp, ahora estoy provando con Zend Server Community Edition. Pero esto es otro tema.

Vamos a lo que nos ocupa , la diferencia entre PHP NTS y PHP TS.

La caracteristica Thread Safe permite que PHP se ejecute más rápidamente en un entorno Windows (multihilo) que en un entorno Linux (multiproceso), por tanto funciona mejor para un servidor apache en Windows.

El problema es que para ISS funciona peor al ejecutarlo como ISAPI. Que carajo es ISAPI?, según la Wikipedia es:

“Es una interfaz, de programación de aplicaciones (API) para el servidor web de Microsoft, IIS (Internet Information Server).
La ISAPI permite que los programadores puedan desarrollar aplicaciones basadas en web que se procesen mucho más rapidamente que los programas CGI. Esto es así porque están más integrados con el servidor web.
Además del IIS, hay otros servidores web que soportan ISAPI.”

Nosotros nos quedamos con la idea de que ISAPI es más rápido que CGI (básicamente es un protocolo que permite comunicar otros programas con el servidor web para extender las capacidades del HTTP, es decir como unos “plugins” del lado del servidor)

A lo que ibamos, nos hemos quedado que PHP en TS funciona mal (es inestable y provoca cuelgues) con ISS al ejecutarlo en ISAPI y entonces esto nos lleva a que se acaba ejecutando en CGI, peeero la version de PHP TS se ha diseñado para ejecutarse más rápidamente en entornos Windows y muchos de los CGI que hay desarollados estan pensados para Linux. Ahí es donde esta el verdadero problema de PHP TS, su funcionamiento en ISS es muy pobre debido a que tiene que interactuar con CGIs que estan diseñados para Linux (multiproceso).

Entonces tenemos la otra versión, que es ejecutar PHP en modo no thread safe. Con esto conseguimos que PHP se ejecute en modo CGI pero a una velocidad muy superior que en la thread safe.

 

Una vez explicado esto me podria meter en analizar otros metodos para poder ejecutar PHP en ISS de manera más rápida (FastCGI, opcode, …), pero este post no es para eso, lo dejaré para más adelante.

 

Para finalizar pondré un resumen de en que momento utilizar una o otra.

Si vas a instalar PHP en ISS, instala la version NTS como FastCGI

Si vas a isntala PHP en Apache como modulo, utiliza la version TS

 

Enlaces:

scriptinside.blogspot.com

www.iis-aid.com

forosdelweb.com

Publicado en Servidores

Comentarios cerrados

  • Ultimas entradas

    • PHP Non Thread Safe y PHP Thread Safe
    • Pasos para intentar arreglar un HD
    • Migrar WordPress de un dominio a otro
    • Arroz Japonés (Gohan)
    • Joomla Pre-instalación
    • Contratiempos con Orange
  • Archivos

    • octubre 2011 (2)
    • febrero 2011 (1)
    • agosto 2010 (1)
    • mayo 2010 (1)
    • abril 2010 (1)
    • febrero 2009 (1)
    • diciembre 2008 (8)
    • noviembre 2008 (6)
    • octubre 2008 (10)
    • septiembre 2008 (4)
  • Categorias

    • Cocina (1)
    • Eventos (1)
    • friki (1)
    • General (6)
    • Hardware (2)
    • Linux (10)
    • Series (1)
    • Servidores (8)
    • Viajes (1)
    • Web (1)
    • WebHosting (3)
  • Etiquetas

    Añadir etiqueta nueva

  • Paginas

    • Fotografias sobre Japón
    • Fotos

Blog personal de Erikcrane © 2012 Todos los derechos reservados. Diseñado por 5Shades Website Templates y Web Hosting Rally| Al español por Themes Wordpress y Aborregate