it-swarm.dev

Warum wird PHP so häufig auf Webservern verwendet?

Mein Webserver verwendet PHP wie 76,9% der Webserver gemäß W3Techs:

http://w3techs.com/technologies/overview/programming_language/all

Der Grund, warum ich PHP benutze), ist eine Trägheit, die daraus entsteht, dass alle anderen es auf Webservern verwenden. Worum geht es bei PHP, das es so allgegenwärtig machen würde) Webserver?

(Beachten Sie, dass diese Frage der folgenden Frage ähnelt, sie jedoch in eine andere Richtung führt: Warum wird nicht Java wird für die moderne Entwicklung von Webanwendungen verwendet? )

14
Deets McGeets

PHP ist eine Sprache, die speziell für die Webprogrammierung mit integrierter Integration in die beliebteste Open-Source-Datenbank MySQL entwickelt wurde.

  • Einfach zu beginnen : Als Anfänger ist es einfach, mit PHP zu beginnen. Der Benutzer muss nur einige PHP-Tags mit z. eine for-Schleife in den vorhandenen HTML-Dateien und lade sie dann auf den Server hoch und sehe das Ergebnis oder eine Fehlermeldung. Dynamische Typisierung und assoziative Arrays erleichtern auch den Einstieg in PHP.

  • Einfach zu bedienen : Im Vergleich zu den meisten Lösungen wie z. Java, PHP muss nicht kompiliert werden, also muss nur das Skript geschrieben und dann auf den Server hochgeladen und dann der Browser aktualisiert werden.

  • Integrierte Datenbankunterstützung : PHP hat (meistens) integrierte Unterstützung für die beliebtesten Datenbanken wie z. B. MySQL, was bedeutet, dass es einfach ist, Datenbanken zu verwenden, ohne zusätzliche Treiber müssen installiert werden, nur um die MySQL-Funktionen nutzen zu können. Das benutzerfreundliche webbasierte Admin-Tool PHPMyAdmin (veröffentlicht 1998) ist auch wichtig für den Erfolg von PHP in Kombination mit MySQL.

  • Alte Sprache (seit 1995) mit einer großen Benutzerbasis : PHP wurde früh (1995) populär, da es für die Webprogrammierung entwickelt wurde. Seitdem ist die Benutzerbasis gewachsen und jetzt gibt es viele weborientierte Frameworks und Bibliotheken. Einige Beispiele sind Blogg-Systeme und E-Shopping-Plattformen.

  • Günstiges Hosting : Da PHP existiert schon lange und funktioniert sowohl unter Linux als auch unter Windows, und viele Webserver unterstützen dies. Es gibt kein Problem, Hosting zu finden mit PHP vorinstalliert.

41
Jonas

Aus dem gleichen Grund ist MySQL so beliebt: Es war zur richtigen Zeit am richtigen Ort.

Mit dem Boom der Linux-Server in den 90er Jahren wurde die LAMP-Plattform (Linux-Apache-MySQL-PHP) als zuverlässige und vor allem kostenlose Option eingeführt.

Nehmen Sie als Randnotiz MySQL zu der Zeit. Dies waren zwei fehlende Funktionen von MySQL (aus meiner Sicht könnte es noch mehr geben) vor nicht allzu langer Zeit :

  • Keine Auslöser
  • Nicht vollständig SÄURE konform

Wie wurde eine DB, die nicht einmal ACID-konform (Atomicity-Consistency-Isolation-Durability) war, so beliebt? Gleiche Antwort wie PHP: Es war zur richtigen Zeit am richtigen Ort.

Weitere Informationen zum "richtigen Ort zur richtigen Zeit" für LAMP-Komponenten:

10

Wenn Sie sich umschauen, laufen auf den meisten Leuten PHP heutzutage Wordpress, Drupal, Joomla und dergleichen). Oder eine von 10.000 kostenlosen, beliebten Apps, die mit einem billigen Produkt sofort funktionieren PHP Host und eine kleine Konfiguration. Oft wird es installiert, nicht weil jemand etwas macht, das auf PHP läuft, so sehr wie die einfachste Option darin besteht, etwas zu verwenden gebaut auf PHP.

8
Wyatt Barnett

Ich unterrichte mich gerade PHP, also kann ich vielleicht antworten.

Eine PHP Quellcode-Datei kann eine Mischung aus HTML, JavaScript und PHP enthalten, sodass es sehr einfach zu sein scheint, einfache Webanwendungen zum Laufen zu bringen. Komplexere Interaktionen, die in einer JSP-Situation viele Java erfordern würden, oder einige seltsame Verzerrungen in einer CGI-BIN-Situation, werden von den PHP -Einbauten berücksichtigt: Sie tun dies nicht Sie müssen sogar wissen, ob ein HTTP GET oder POST Ihren Code aufgerufen hat. Alles, was Ihr Code wissen möchte, befindet sich in den globalen Variablen _REQUEST oder _SERVER oder _COOKIE.

PHP-the-langauage wird ziemlich schnell analysiert und ausgeführt, sodass Sie beim Generieren von HTML keinen großen Leistungsabfall bemerken, anstatt nur eine Reihe statischer HTML-Dateien zu haben.

PHP-the-Interpreter verfügt über Bibliotheksaufrufe für nahezu jedes Open-Source-DBMS und viele proprietäre DBMS, sodass die Erstellung einer dreistufigen Web-App einfach aussieht. PHP-the-Interpreter enthält Bibliotheksaufrufe für viele andere allgemeine Situationen (a.k.a. "Anwendungsfälle"), sodass Sie nicht viel Code selbst schreiben müssen, sondern nur die Bibliothek aufrufen müssen. Genau wie bei J2EE "Enterprise Apps" geht das Problem vom Wissen über das Codieren zum Wissen über das Nachschlagen von Bibliotheksmaterialien über. Dies wird durch das sehr anständige Handbuch php.net PHP unterstützt.

Als Programmiersprache hat PHP nicht viele exotische Konstrukte oder unterscheidet sich zu sehr von beispielsweise C, FORTRAN 4 oder Pascal, sodass Programmierer, die bereits eine Sprache kennen, PHP-the leicht erlernen können -Programmiersprache.

7
Bruce Ediger

Es gibt zwei wichtige Punkte für den Erfolg von PHP: Das Timing und der Fokus auf Shared Hosting.

Am Anfang war das Web statisch. Webserver konnten nur vorgenerierten HTML-Code verteilen. Dies reichte nach einiger Zeit offensichtlich nicht aus. 1993 erweiterte das NCSA-Team seinen Webserver (den Vorgänger von Apache httpd) um eine Technologie namens CGI , mit dem bestimmte Programme vom Webserver aufgerufen werden konnten, die im laufenden Betrieb HTML (oder andere Inhalte) generieren konnten. Das war großartig, da die Leute all die Dinge tun konnten. Eine zu dieser Zeit häufig verwendete Sprache war Perl. Perl ist eine Sprache, die stark in der Textverarbeitung ist und eine Schlüsseleigenschaft für die Verarbeitung von HTTP-Anforderungsdaten und die Erstellung von HTML darstellt. Also haben die Leute es benutzt.

Es gab jedoch ein Problem: Für jede Anforderung, auf der der Webserver ein externes Programm ausführen musste, musste Perl das Skript initialisieren und ausführen. Dies verursachte einige Kopfschmerzen. Eine Lösung war mod_Perl kommen ca. 1997. mod_Perl ist ein Modul für den Apache-Webserver, der den Perl-Interpreter direkt in den Webserverprozess einbettet, sodass kein zusätzlicher Start erforderlich war.

Aber auch dieser Ansatz hatte ein Problem: mod_Perl war extrem leistungsfähig und hatte Zugriff auf die gesamte Serverkonfiguration. Sie können nicht einen Server zum Hosten mehrerer unabhängiger Clients verwenden, da diese den anderen Personen leicht schaden können - sei es absichtlich oder versehentlich. Und hier kam PHP).

PHP wurde so erstellt, dass es als Apache-Modul ausgeführt werden kann (daher wird der Starttreffer nicht für jede Anforderung ausgeführt), bietet jedoch eine Umgebung ohne gemeinsame Nutzung zwischen Anforderungen. Sobald eine Anfrage erledigt war, gingen alle Informationen verloren und eine nachfolgende Anfrage an einen anderen virtuellen Host wurde unabhängig zugestellt. PHP bot auch Funktionen zur Einschränkung des Zugriffs an (safe_mode, open_base_dir). Mit dieser Architekturauswahl konnten Unternehmen PHP auf ihrem Server installieren und Kunden FTP (oder ähnliches) bereitstellen). Zugriff auf das Hochladen ihrer Dateien und von diesem Host viele, viele Kunden auf einem einzigen Computer ohne viel Arbeit. Dies führte zu einem Wettbewerb, der zu günstigen Preisen für PHP-basiertes Hosting führte und PHP eine allgegenwärtige Plattform machte).

Zusätzlich hatte PHP einige Vorteile gegenüber Perl, wie das Mischen von HTML und PHP Code oder direkter Zugriff auf Anforderungsvariablen (siehe auch register_globals), die in Perl vorhanden waren) schwieriger (benutzerdefiniertes Parsen oder Abhängigkeit von CGI.pm), was Entwicklern gefiel.

Ein weiterer Aspekt, der PHP damals erfolgreich machte), war die gute Unterstützung unter Windows. Perl oder andere Sprachen unter Windows zum Laufen zu bringen war schwierig, aber zu dieser Zeit verwendeten viele Entwickler Windows zu Hause und Virtualisierung oder Container waren noch keine Sache. PHP lief problemlos unter Windows, sodass die Benutzer sie für die Entwicklung verwenden und dann die Dateien packen und unter Linux bereitstellen konnten. Mit Perl müssten Sie dies beispielsweise tun Holen Sie sich die richtige Perl-Distribution und überprüfen Sie dann, welche Module überhaupt verfügbar sind usw.

Was ist mit anderen Sprachen? Kompilierte Sprachen wie C oder C++ haben nie Anklang gefunden, da Skripte den sich schnell entwickelnden Markt besser bedienen. Java existierte, aber Java Virtuelle Maschinen benötigten viel mehr Ressourcen und Shared Hosting in der Art PHP unterstützt es war kaum machbar Die Investitionen in Hardware waren viel höher. ASP (als Vorgänger von ASP.Net) war an die Windows-Plattform gebunden und beschränkte sich auf Organisationen, die bereits Windows ausführen und die Lizenzkosten nicht fürchten und wieder keine gemeinsame Hosting-Unterstützung.

Verschiedene andere Technologien wurden produziert, waren jedoch entweder kommerziell (Cold Fusion oder Netscape Server mit serverseitigem JavaScript) und schränkten ihre Reichweite ein oder wurden nicht außer Reichweite gebracht, bis Ruby-on-Rails kam, was wahrscheinlich die erste Umgebung war, die viele erhielt Aufmerksamkeit, aber zu diesem Zeitpunkt PHP war bereits sehr beliebt bei einer großen Community und gut etablierter Software (wie Wordpress oder Drupal), was es schwierig macht, sich zu behaupten - zumal die Entwicklung von PHP nie aufgehört hat und noch andauert.

3
johannes

Seien wir ehrlich, PHP ist billig, leicht zu erlernen, hat eine große Community, Sie können es überall hosten und es gibt eine Menge. Also, wenn Sie als jemand denken, der das Internet als nutzt Ein Weg, um in einer kleinen/mittleren Branche schnell Geld zu verdienen und dafür einen Entwicklungsbereich mit einer praktisch nicht vorhandenen Infrastruktur zu schaffen, PHP klingt (zunächst einmal) ziemlich gut).

Ich denke also, PHP ist eine großartige Möglichkeit, mit einer Reihe von Programmierern und einem kleinen Computer als Server schnell Geld zu verdienen.

1
guiman