Saludos.
Soy nuevito en la programacion web, y... bueno queria saber en que se diferencia que se use php como cgi o como script. Gracias por las respuestas
| ||||
Cita: A ver no confundais que son cosas distintas
Iniciado por Mickel Si lo usas como CGI significa que solo procesan resultados. Le envias uno o mas datos(como un formulario, por ejemplo) y te devuelve valores. Si lo usas como script puedes combinarlo con HTML Es sabido que los script CGI escritos en Perl y los script PHP se utilizan sobre todo para la realización de páginas dinámicas, dejando de lado por un momento el lenguaje ASP que, recordamos, es propietario y puede utilizarse (casi) sólo en webserver NT con IIS. El PHP, sobre todo en estos últimos tiempos, se está imponiendo como lenguaje principal de scripting para la realización de páginas dinámicas. En primer lugar porque es multiplataforma, es decir, es posible encontrar el motor PHP para las plataformas más utilizadas. Pero el PHP, lentamente y inexorablmente, está superando por complejidad a los CGI y esto se puede justificar por varias cuestiones: * PHP es un lenguaje embeeded (empotrado) en el código HTML de las páginas y no necesita, por lo tanto, otros archivos para que se ponga en marcha; * un script PHP, de hecho, no necesita ser instalado como ocurre con un script CGI. Los que han leído alguna vez algún artículo en www(punto)cgipoint.it, se habrán dado cuenta de que cada script tieneque cargarse en el servidor en determinados directorios, con permisos especiales, etc.. Con el PHP esto ya no pasa: además de no necesitar un directorio cgi-bin, ya que el código se introducee directamente en las páginas, una vez que la página se cargue el script está listo para el uso, siempre que se haya configurado correctamente; * con el PHP ya no se necesitan configuraciones especiales del servidor de la red para que se habiliten directorios cgi-bin o la realización de unos archivos que tengan determinadas extensiones. Primero se dan instrucciones al servidor de la red, luego cada script (o mejor, cada página que tenga el código del script) se puede poner en marcha en CADA directorio donde esté. Fijaos en la comodidad de esta característica del PHP. Por supuesto, estas son sólo algunas de las características que permiten al PHP superar a los CGI, y pueden ser criticadas por los fanáticos del "otro bando". Obviamente, los CGI tienen sus ventajas y elegir entre uno y otro lenguaje (o los dos a la vez) es algo personal. Si hablamos de "qué se puede hacer con PHP" se puede decir que, a partir de la versión 4, las posibilidades del PHP son prácticamente iguales a las de los CGI en Perl, pero no a las del mismo Perl. |
| |||
Al margen de la explicación que da ianzurken, PHP en sí se puede ejcutar como CGI o como módulo de un servidor HTTP (Apache "módulo", IIS como ISAPI ..). (creo que por ahí iva la pregunta?) El caso que PHP ejecutado como CGI se levanta una sesión de PHP (del "interprete") por cada script que ejecutas. Esto tiene los beneficios de separación de procesos y control directo sobre la ejecución de los mismos por parte del S.O. Por ejemplo en Linux, PHP bajo CGI es el usuario que lanza el script su propietario. En modo "módulo" PHP funciona bajo el servidor HTTP a espensas de el. Se instala como un "módulo", se "levanta" cuando lo hace el servidor HTTP y queda en "memoria" a costa de consumo extra de recursos del servidor pero ganar en rapidez a la hora de ejecutar un script PHP (por qué ya tienes el "interprete" cargado y no como en modo CGI que se ha de "levantar" una instancia más). A nivel de "usuarios" y persiso .. tus scripts PHP heredan los permisos y son ejecutados por el Usuario que use (valga la rebundancia) el servidor HTTP (Apache o el que uses). Esto en algunos casos complica el hecho de tener que realizar alguna acción de tus scritps PHP y tengas que darle permisos a "todo" el servidor y no poder separa el proceso por "cierto" usuario. Un saludo, |