2012-03-30 14 views
41

He estado aprendiendo sobre el manejo de errores en PHP recientemente y encontré la función error_log(). En el manual de PHP, se tratan todos los tipos de registro de errores y los entiendo a todos excepto el tipo 3, que establece que el mensaje de error se envía directamente al controlador de registro de SAPI. Mi pregunta es ¿qué es exactamente SAPI y cuándo quieres usarlo?¿Qué es SAPI y cuándo lo usarías?

Respuesta

35

SAPI significa "API del servidor". Es el mecanismo que controla la interacción entre el "mundo exterior" y el motor PHP/Zend. Entonces, siempre quisieras usarlo. De hecho, no puede evitar usarlo sin mucho esfuerzo ya que incluso la CLI se considera una SAPI.

+24

+0, Elaboración de necesidades. – Pacerier

+3

Entonces, ¿cómo se puede saber qué es lo que su registrador SAPI tiene en una configuración en ejecución perfectamente ensamblada por el mantenedor de paquetes? (para hacer que registre los mensajes que desea ver desesperadamente :).) – n611x007

14

De Wikipedia:

En otras palabras, SAPI es en realidad una interfaz de programación de aplicaciones (API) que proporciona el servidor web para ayudar a otros desarrolladores en la ampliación de las capacidades de servidor web.

Como ejemplo, PHP tiene una interfaz de módulo directa llamada SAPI para diferentes servidores web; en el caso de PHP 5 y Apache 2.0 en Windows, se proporciona en forma de un archivo DLL llamado php5apache2.dll, que es un módulo que, entre otras funciones, proporciona una interfaz entre PHP y el servidor web, implementada en una forma que el servidor entiende. Esta forma es lo que se conoce como SAPI.

Existen diferentes tipos de SAPI para varias extensiones de servidor web. Por ejemplo, otros dos SAPI para el lenguaje PHP son Common Gateway Interface (CGI) y Command Line Interface (CLI).

14

SAPI (interfaz de programación de aplicaciones de servidor), también conocido como ISAPI (Servidor de Internet Application Programming Interface) para Microsoft, NSAPI (Application Programming Interface servidor Netscape) para Netscape.

API significado.

Para el desarrollador web, puede pensar en API como REST, SOAP. Llamas a un enlace para obtener datos del servidor. Te permite interactuar con el servidor web.

SAPI es diferente con REST o SOAP, SAPI es API (contrato) utilizado para el servidor.

Por ejemplo: Common Gateway Interface es una SAPI. Si un servidor web admite CGI y otro programa ejecutable, impleméntelo para que el servidor web pueda interconectarse y generar páginas web dinámicamente.

miran el cuadro a continuación:

SAPI apache and php

mod_php implementar una interfaz que Apache y PHP pueden entenderse entre sí.

Entonces, ¿qué es SAPI exactamente: es un contrato entre el servidor (cualquier tipo de servidor) y el programa. Simplemente siga el contrato y no necesitan saber otros detalles secundarios.

+0

¿Puede decirme de dónde se toma esta fotografía?Estoy buscando material sobre el tema con exactamente este tipo de ilustración gráfica. – dwytrykus

+0

No recuerdo exactamente. Después de algunos buscar lo viejo. Encuentro uno: http://www.slideshare.net/do_aki/php-and-sapi-and-zendengine2-and. Espero que ayudes. –

Cuestiones relacionadas