2012-03-30 10 views
41

Recentemente ho imparato a conoscere la gestione degli errori in PHP e ho trovato la funzione error_log(). Nel manuale PHP, parla di tutti i tipi di log degli errori e li capisco tutti tranne il tipo 3 che afferma che il messaggio di errore viene inviato direttamente al gestore di logging SAPI. La mia domanda è cosa sia esattamente SAPI e quando vorresti utilizzarlo?Che cos'è SAPI e quando lo utilizzeresti?

risposta

35

SAPI sta per "Server API". È il meccanismo che controlla l'interazione tra il "mondo esterno" e il motore PHP/Zend. Quindi, vorrai sempre usarlo. In realtà, non puoi evitare di usarlo senza un sacco di sforzo poiché anche la CLI è considerata un SAPI.

+24

+0, Elaborazione necessaria. – Pacerier

+3

così come si fa a sapere che cosa il logger SAPI è in una configurazione in esecuzione ordinatamente assemblata dal manutentore del pacchetto? (per fare in modo che registri i messaggi che vuoi vedere disperatamente :)) – n611x007

14

Da Wikipedia:

In altre parole, SAPI è in realtà un'interfaccia di programmazione delle applicazioni (API) fornito dal server web per aiutare altri sviluppatori di estendere le funzionalità del server web.

Ad esempio, PHP ha un'interfaccia modulo diretta denominata SAPI per diversi server Web; in caso di PHP 5 e Apache 2.0 su Windows, viene fornito sotto forma di un file DLL chiamato php5apache2.dll, che è un modulo che, tra le altre funzioni, fornisce un'interfaccia tra PHP e il server Web, implementata in una forma che il server capisce. Questo modulo è ciò che è noto come SAPI.

Esistono diversi tipi di SAPI per varie estensioni del server Web. Ad esempio, altri due SAPI per il linguaggio PHP sono Common Gateway Interface (CGI) e CLI (command-line interface).

14

SAPI (Server Application Programming Interface) anche conosciuto come ISAPI (Internet Server Application Programming Interface) per Microsoft, NSAPI (Netscape Server Application Programming Interface) per Netscape.

API significato.

Per gli sviluppatori Web, puoi pensare a API come REST, SOAP. Si chiama un collegamento si ottiene un dato dal server. Ti consente di interagire con il server web.

SAPI è diverso con REST o SOAP, SAPI è API (contratto) utilizzato per il server.

Ad esempio: Common Gateway Interface è un SAPI. Se un server Web supporta CGI e un altro programma eseguibile lo implementa in modo che il server Web possa integrare e generare pagine Web in modo dinamico.

osservi l'immagine qui sotto:

SAPI apache and php

mod_php implementare un'interfaccia che Apache e PHP possono capirsi.

Quindi cos'è SAPI esattamente: È un contratto tra Server (qualsiasi tipo di server) e il programma. Basta seguire il contratto e non è necessario conoscere altri dettagli laterali.

+0

Puoi dirmi da dove viene scattata questa foto?Sto cercando un materiale sull'argomento con esattamente questo tipo di illustrazione grafica. – dwytrykus

+0

Non ricordo esattamente. Dopo aver cercato la vecchia cosa. Ne trovo uno: http://www.slideshare.net/do_aki/php-and-sapi-and-zendengine2-and. Spero che aiuto. –

Problemi correlati