¿Por qué se utiliza PHP con tanta frecuencia en los servidores web? [cerrado]

14

Mi servidor web usa PHP al igual que el 76.9% de los servidores web según W3Techs:

enlace

La razón por la que uso PHP es una inercia que nace de que todos los demás lo usan en servidores web. ¿Qué pasa con PHP que lo haría tan ubicuo en los servidores web?

(Tenga en cuenta que esta pregunta es similar a la siguiente, pero la toma en una dirección diferente: ¿Por qué no se utiliza Java para el desarrollo de aplicaciones web modernas? )

    
pregunta Deets McGeets 26.09.2011 - 19:58
fuente

6 respuestas

42

PHP es un lenguaje que está diseñado específicamente para la programación web con integración integrada con la base de datos de código abierto más popular MySQL.

  • Fácil de comenzar: Como principiante, es fácil comenzar con PHP. El usuario solo tiene que agregar algunas etiquetas PHP con, por ejemplo, un for-loop en sus archivos HTML existentes y luego subirlo al servidor y ver el resultado o un mensaje de error. La escritura dinámica y las matrices asociativas también hacen que sea más fácil comenzar a usar PHP.

  • Fácil de usar: en comparación con la mayoría de las soluciones como, por ejemplo, Java, PHP no necesita ser compilado, por lo que es solo para escribir el script y luego cargarlo en el servidor y luego actualizar el navegador.

  • Compatibilidad con bases de datos integradas: PHP tiene (en su mayoría) soporte integrado para las bases de datos más populares como, por ejemplo, MySQL, eso significa que es fácil comenzar a usar bases de datos, no es necesario instalar controladores adicionales, solo usar las funciones mysql. La herramienta de administración basada en web fácil de usar PHPMyAdmin (lanzada en 1998) también es importante para el éxito de PHP en combinación con MySQL.

  • Lenguaje antiguo (desde 1995) con una gran base de usuarios: PHP se hizo popular desde el principio (1995), ya que fue diseñado para la programación web. Desde entonces, la base de usuarios ha crecido y ahora hay muchos marcos y bibliotecas orientados a la web disponibles. Algunos ejemplos son blogg-systems y e-shopping-platform.

  • Alojamiento barato: Ya que PHP existe desde hace mucho tiempo y funciona bien tanto en Linux como en Windows, y muchos servidores web lo admiten. No hay ningún problema para encontrar alojamiento con PHP preinstalado.

respondido por el Jonas 26.09.2011 - 20:05
fuente
10

Por la misma razón, MySQL es tan popular: estaba en el lugar correcto en el momento correcto.

Con el auge del servidor Linux en los años 90, la plataforma LAMP (Linux-Apache-MySQL-PHP) apareció como una opción confiable y, lo más importante, gratuita.

Como nota al margen, tome MySQL en ese momento. Estas eran dos características faltantes de MySQL (desde lo más alto de mi mente, podría haber más) no hace mucho tiempo :

  • Sin desencadenantes
  • No es totalmente compatible con ACID

¿Cómo llegó a ser tan popular un DB que no era compatible con ACID (atomicidad-consistencia-aislamiento-durabilidad)? La misma respuesta que PHP: estaba en el lugar correcto en el momento correcto.

Más información sobre el "lugar correcto en el momento adecuado" en los componentes de LAMP:

respondido por el Adrian 26.09.2011 - 20:20
fuente
8

Si miras a tu alrededor, la mayoría de las personas que ejecutan PHP en estos días ejecutan Wordpress, Drupal, Joomla y similares. O una de las 10,000 aplicaciones populares gratuitas que prácticamente funcionan de manera inmediata con un host PHP barato y una pequeña configuración. Muchas veces se instala, no porque alguien esté haciendo algo que se ejecute en PHP, ya que la opción más fácil es usar algo creado en PHP.

    
respondido por el Wyatt Barnett 26.09.2011 - 20:58
fuente
7

Me estoy enseñando PHP ahora mismo, así que tal vez pueda responder.

Un archivo de código fuente de PHP puede contener una mezcla de HTML, JavaScript y PHP, por lo que parece muy fácil poner en marcha aplicaciones web simples. Las interacciones más complejas, que requerirían una gran cantidad de Java en una situación JSP, o algunas contorsiones extrañas en una situación CGI-BIN, serán atendidas por las incorporaciones de PHP: ni siquiera tiene que saber si un HTTP GET o POST llamó a su código, todo lo que su código quiere saber vive en las variables globales _REQUEST o _SERVER o _COOKIE.

PHP-the-langauage se analiza y ejecuta con bastante rapidez, por lo que no notará una gran caída en el rendimiento al generar HTML, en lugar de tener un montón de archivos HTML estáticos.

PHP-the-interpreter tiene llamadas a la biblioteca para casi todos los DBMS de código abierto, y muchos de los propietarios, también, por lo que es fácil hacer una aplicación web de 3 niveles. PHP-the-interpreter incluye llamadas a la biblioteca para muchas otras situaciones comunes (a.k.a. "casos de uso"), por lo que no tiene que escribir mucho código, solo llame a la biblioteca. Entonces, al igual que las "aplicaciones empresariales" de J2EE, el problema pasa de saber cómo codificar a saber cómo buscar cosas de la biblioteca. Esto es ayudado por el muy decente php.net PHP manual.

Como lenguaje de programación, PHP no tiene muchas construcciones exóticas, o difiere demasiado de, digamos C, FORTRAN 4 o Pascal, por lo que los programadores que ya conocen un lenguaje pueden elegir fácilmente el lenguaje de programación PHP. .

    
respondido por el Bruce Ediger 26.09.2011 - 20:16
fuente
3

Hay dos puntos clave para el éxito de PHP: el momento y el enfoque en el alojamiento compartido.

Al principio la web era estática. Los servidores web solo podían distribuir HTML pregenerado. Obviamente, esto no era suficiente después de un tiempo, por lo que en 1993 el equipo NCSA amplió su servidor web (el antecesor de Apache httpd) con una tecnología llamada CGI que permitía llamar a programas específicos desde el servidor web que podía generar HTML (u otro contenido) sobre la marcha. Esto fue genial ya que la gente podía hacer todas las cosas. Un lenguaje comúnmente utilizado en ese momento para ese propósito fue Perl. Perl es un lenguaje sólido en el procesamiento de texto que es una propiedad clave para manejar datos de solicitud HTTP y producir HTML. Así que la gente lo usó.

Pero hubo un problema: para todas y cada una de las solicitudes del servidor web para ejecutar un programa externo, Perl tuvo que iniciar y ejecutar el script. Esto causó bastante dolor de cabeza. Una solución fue mod_perl que viene a continuación. 1997. mod_perl es un módulo para el servidor web Apache que integra el intérprete de Perl directamente en el proceso del servidor web, por lo que no fue necesario un arranque adicional.

Pero nuevamente, este enfoque tenía un problema: mod_perl era extremadamente poderoso y tenía acceso a la configuración completa del servidor. No podría usar un servidor para alojar a varios clientes independientes, ya que podrían dañar fácilmente a las otras personas, ya sea a propósito o por accidente. Y ahí es donde vino PHP.

PHP se creó de una manera que podría ejecutarse como módulo de Apache (por lo tanto, no tiene el resultado de inicio para cada solicitud) pero proporciona un entorno de nada compartido entre las solicitudes. Una vez que se realizó una solicitud, toda la información se perdió y una solicitud posterior a otro host virtual se atendería de forma independiente. PHP también ofreció funciones para restringir el acceso (safe_mode, open_base_dir). Con esa elección arquitectónica, las empresas podrían instalar PHP en su servidor y proporcionar a los clientes acceso FTP (o similar) para cargar sus archivos y, por eso, alojar a muchos clientes en una sola máquina sin mucho trabajo. Esto provocó una competencia que llevó a precios bajos para el alojamiento basado en PHP, lo que convierte a PHP en una plataforma ubicua.

Además, PHP tenía algunos beneficios sobre Perl, como permitir mezclar código HTML y PHP o acceso directo a variables de solicitud (ver también register_globals) que en Perl era más difícil (análisis personalizado o dependencia de CGI.pm) que a los desarrolladores les gustaba.

Otro aspecto que hizo exitoso a PHP en esos días fue un buen soporte en Windows. Conseguir que Perl u otros idiomas trabajaran en Windows fue difícil, pero en ese momento muchos desarrolladores en los que utilizaban Windows en casa y la virtualización o los contenedores no eran una cosa todavía. PHP se ejecutó fácilmente en Windows, por lo que la gente podría usarlo para el desarrollo y luego empaquetar los archivos y desplegarlos en Linux. Con Perl, por ejemplo, tendría que obtener la distribución correcta de Perl y luego verificar qué módulos están disponibles en todos, etc.

¿Qué pasa con otros idiomas? Los lenguajes compilados como C o C ++ nunca obtuvieron tracción, ya que las secuencias de comandos sirven mejor al mercado de rápido desarrollo. Java existía, pero las máquinas virtuales de Java requerían muchos más recursos y alojamiento compartido de la manera en que PHP no era factible. La inversión en hardware fue mucho mayor. ASP (como el antecesor de ASP.Net) estaba vinculado a la plataforma Windows, limitándola a organizaciones que ya ejecutan Windows y que no temen los costos de licencia, y nuevamente no tienen soporte de alojamiento compartido.

Se produjeron otras tecnologías diferentes, pero fueron comerciales (Cold Fusion o Netscape Server con JavaScript del lado del servidor) limitando su alcance o no estuvieron fuera de su alcance hasta que llegó Ruby-on-rails, que probablemente fue el primer entorno recibió mucha atención, pero en ese momento PHP ya era muy popular con una gran comunidad y un software bien establecido (como Wordpress o Drupal), lo que hacía difícil competir, especialmente porque el desarrollo de PHP nunca se detuvo y aún continúa.

    
respondido por el johannes 10.12.2015 - 16:01
fuente
1

Afrontémoslo, PHP es barato, fácil de aprender, tiene una gran comunidad, puede alojarlo en cualquier lugar y ha existido mucho. Por lo tanto, si piensa que alguien está utilizando internet como una forma de ganar dinero rápidamente en una industria pequeña / mediana y tiene que crear un área de desarrollo para hacerlo con una infraestructura prácticamente inexistente, PHP suena bastante bien (para empezar).

Así que creo que PHP es una excelente manera de ganar dinero rápido con un grupo de programadores y una pequeña computadora como servidor.

    
respondido por el guiman 27.09.2011 - 15:25
fuente

Lea otras preguntas en las etiquetas