Mon serveur web utilise PHP comme le font 76,9% des serveurs web selon W3Techs:
http://w3techs.com/technologies/overview/programming_language/all
La raison pour laquelle j'utilise PHP est une inertie née du fait que tout le monde l'utilise sur des serveurs Web. Qu'est-ce qui rend PHP si omniprésent sur les serveurs Web?
(Notez que cette question est similaire à la question suivante mais la prend dans une direction différente: pourquoi Java n'est-il pas utilisé pour le développement d'applications Web modernes? )
web-development
php
Deets McGeets
la source
la source
Réponses:
PHP est un langage spécialement conçu pour la programmation Web avec une intégration intégrée avec la base de données open source la plus populaire MySQL.
Facile à démarrer: En tant que débutant, il est facile de commencer avec PHP. L'utilisateur n'a qu'à ajouter quelques balises PHP avec par exemple une boucle for dans ses fichiers HTML existants, puis la télécharger sur le serveur et voir le résultat ou un message d'erreur. Le typage dynamique et les tableaux associatifs facilitent également l'utilisation de PHP.
Facile à utiliser: par rapport à la plupart des solutions comme par exemple Java, PHP n'a pas besoin d'être compilé, il suffit donc d'écrire le script puis de le télécharger sur le serveur puis de mettre à jour le navigateur.
Support de base de données intégré: PHP a (principalement) un support intégré pour les bases de données les plus populaires comme par exemple MySQL, ce qui signifie qu'il est facile de commencer à utiliser des bases de données, aucun pilote supplémentaire n'a besoin d'être installé, juste pour utiliser les fonctions mysql. L'outil d'administration Web facile à utiliser PHPMyAdmin (sorti en 1998) est également important pour le succès de PHP en combinaison avec MySQL.
Ancien langage (depuis 1995) avec une grande base d'utilisateurs: PHP est devenu populaire au début (1995) car il a été conçu pour la programmation Web. Depuis lors, la base d'utilisateurs a augmenté et maintenant il existe de nombreux frameworks et bibliothèques orientés web disponibles. Quelques exemples sont les systèmes de blogg et les plateformes de e-shopping.
Hébergement bon marché: Depuis PHP existe depuis longtemps et fonctionne bien sur Linux et Windows, et de nombreux serveurs Web le prennent en charge. Il n'y a aucun problème à trouver un hébergement avec PHP pré-installé.
la source
Pour la même raison, MySQL est si populaire: il était au bon endroit au bon moment.
Avec le boom des serveurs Linux dans les années 90, la plate-forme LAMP (Linux-Apache-MySQL-PHP) est apparue comme une option fiable et, surtout, gratuite.
En guise de remarque, prenez MySQL à l'époque. Il y avait deux fonctionnalités manquantes de MySQL (du haut de mon esprit, il pourrait y en avoir plus) il n'y a pas si longtemps :
Comment une base de données qui n'était même pas conforme à ACID (atomicité-cohérence-isolation-durabilité) est-elle devenue si populaire? Même réponse que PHP: c'était au bon endroit au bon moment.
Pour en savoir plus sur le "bon endroit au bon moment" sur les composants LAMP:
la source
Si vous regardez autour de vous, la plupart des gens qui utilisent PHP ces jours-ci utilisent Wordpress, Drupal, Joomla et autres. Ou l'une des 10000 applications gratuites et populaires qui fonctionnent à peu près prêtes à l'emploi avec un hôte PHP bon marché et une petite configuration. Plusieurs fois, il est installé non pas parce que quiconque crée quelque chose qui fonctionne sur PHP autant que l'option la plus simple est d'utiliser quelque chose de construit sur PHP.
la source
J'apprends moi-même PHP en ce moment, alors je peux peut-être répondre.
Un fichier de code source PHP peut contenir un mélange de HTML, JavaScript et PHP, il semble donc très facile d'obtenir des applications Web simples et opérationnelles. Des interactions plus complexes, qui nécessiteraient beaucoup de Java dans une situation JSP, ou quelques contorsions étranges dans une situation CGI-BIN, sont prises en charge par les intégrées PHP: vous n'avez même pas besoin de savoir si un HTTP GET ou POST a appelé votre code, tout ce que votre code veut savoir se trouve dans les variables globales _REQUEST ou _SERVER ou _COOKIE.
PHP-the-langauage est analysé et exécuté assez rapidement, de sorte que vous ne remarquerez pas une baisse considérable des performances lors de la génération HTML, plutôt que d'avoir simplement un tas de fichiers HTML statiques.
PHP-the-interpreter a des appels de bibliothèque pour à peu près tous les SGBD open source, et beaucoup de ceux propriétaires, aussi, donc faire une application web de style à 3 niveaux semble facile. PHP-the-interpreter inclut des appels à la bibliothèque pour de nombreuses autres situations communes (alias "cas d'utilisation"), vous n'avez donc pas à écrire beaucoup de code vous-même, il suffit d'appeler la bibliothèque. Ainsi, tout comme les "applications d'entreprise" J2EE, le problème passe de savoir comment coder à savoir comment rechercher des éléments de bibliothèque. Ceci est aidé par le manuel PHP php.net très décent.
En tant que langage de programmation, PHP n'a pas beaucoup de constructions exotiques ou diffère trop de, disons C, FORTRAN 4 ou Pascal, de sorte que les programmeurs qui connaissent déjà un langage peuvent facilement choisir PHP-le-langage de programmation.
la source
Il y a deux points clés pour le succès de PHP: le timing et l'accent mis sur l'hébergement mutualisé.
Au début, le Web était statique. Les serveurs Web ne pouvaient distribuer que du HTML pré-généré, ce qui n'était évidemment pas suffisant après un certain temps.En 1993, l'équipe NCSA a étendu son serveur Web (le prédécesseur d'Apache httpd) avec une technologie appelée CGI qui permettait d'appeler des programmes spécifiques à partir du serveur Web. qui pourrait générer du HTML (ou tout autre contenu) à la volée. C'était super car les gens pouvaient tout faire. Un langage couramment utilisé à cette époque à cette fin était Perl. Perl est un langage puissant dans le traitement de texte qui est une propriété clé pour gérer les données de requête HTTP et produire du HTML. Les gens l'ont donc utilisé.
Mais il y avait un problème: pour chaque demande, le serveur Web devait exécuter un programme externe, Perl devait initialiser et exécuter le script. Cela a causé pas mal de maux de tête. Une solution était mod_perl à venir ca. 1997. mod_perl est un module pour le serveur Web Apache incorporant l'interpréteur Perl directement dans le processus du serveur Web, donc aucun démarrage supplémentaire n'était nécessaire.
Mais encore une fois, cette approche avait un problème: mod_perl était extrêmement puissant et avait accès à la configuration complète du serveur. Vous ne pouvez pas utiliser un serveur pour héberger plusieurs clients indépendants car ils pourraient facilement nuire aux autres personnes - que ce soit exprès ou par accident. Et c'est là que PHP est venu.
PHP a été construit de manière à pouvoir fonctionner en tant que module Apache (donc sans avoir le hit de démarrage pour chaque requête) mais fournit un environnement de partage rien entre les requêtes. Une fois la demande effectuée, toutes les informations ont été perdues et une demande ultérieure adressée à un autre hôte virtuel serait traitée indépendamment. PHP offrait également des fonctionnalités pour restreindre l'accès (safe_mode, open_base_dir). Avec ce choix architectural, les entreprises pourraient installer PHP sur leur serveur et fournir aux clients un accès FTP (ou similaire) pour télécharger leurs fichiers et ainsi héberger de nombreux clients sur une seule machine sans trop de travail. Cela a provoqué une concurrence menant à des prix bon marché pour l'hébergement basé sur PHP, faisant de PHP une plateforme omniprésente.
De plus, PHP avait quelques avantages par rapport à Perl, comme permettre de mélanger du code HTML et PHP ou un accès direct aux variables de demande (voir aussi register_globals), ce qui en Perl était plus difficile (analyse personnalisée ou dépendance à CGI.pm) que les développeurs aimaient.
Un autre aspect qui a fait le succès de PHP à l'époque était un bon support sous Windows. Il était difficile de faire fonctionner Perl ou d'autres langues sur Windows, mais à l'époque, de nombreux développeurs n'utilisaient pas encore Windows à la maison et la virtualisation ou les conteneurs. PHP fonctionnait facilement sous Windows afin que les gens puissent l'utiliser pour le développement, puis emballer les fichiers et déployer sur Linux. Avec Perl par exemple, vous devriez obtenir la bonne distribution de Perl, puis vérifier quels modules sont disponibles, etc.
Et les autres langues? Les langages compilés comme C ou C ++ n'ont jamais eu de succès car les scripts servent mieux le marché en développement rapide. Java existait, mais les machines virtuelles Java nécessitaient beaucoup plus de ressources et un hébergement partagé dans la façon dont PHP le supportait était difficilement réalisable. L'investissement dans le matériel a été beaucoup plus élevé. ASP (en tant que prédécesseur d'ASP.Net) était lié à la plate-forme Windows, la limitant aux organisations qui exécutent déjà Windows et qui ne craignent pas les coûts de licence, et là encore pas de support d'hébergement partagé.
Différentes autres technologies ont été produites, mais elles étaient commerciales (Cold Fusion ou Netscape Server avec JavaScript côté serveur) limitant leur portée ou ne sont pas hors de leur portée jusqu'à l'arrivée de Ruby-on-rails, qui était probablement le premier environnement recevant beaucoup de attention, mais à cette époque, PHP était déjà très populaire auprès d'une grande communauté et de logiciels bien établis (comme Wordpress ou Drupal), ce qui rend la concurrence difficile - d'autant plus que le développement de PHP n'a jamais cessé et se poursuit.
la source
Avouons-le, PHP est bon marché, facile à apprendre, possède une grande communauté, vous pouvez l'héberger n'importe où, et il a beaucoup circulé. Donc, si vous pensez en tant que personne utilisant Internet comme un moyen de gagner rapidement de l'argent dans une petite / moyenne industrie et d'avoir à créer une zone de développement pour le faire avec une infrastructure pratiquement inexistante, PHP sonne plutôt bien (pour commencer).
Je pense donc que PHP est un excellent moyen de gagner de l'argent rapidement avec un tas de programmeurs et un petit ordinateur comme serveur.
la source