Perché il PHP è usato così frequentemente sui server web? [chiuso]

14

Il mio server web usa PHP come il 76,9% dei server web secondo W3Techs:

link

Il motivo per cui utilizzo PHP è un'inerzia che nasce dal vedere tutti gli altri utilizzarlo sui server web. Che cos'è il PHP che lo renderebbe così ubiquitario sui server web?

(Si noti che questa domanda è simile alla seguente domanda, ma la prende in una direzione diversa: Perché Java non è utilizzato per lo sviluppo di applicazioni Web moderne )

    
posta Deets McGeets 26.09.2011 - 19:58
fonte

6 risposte

42

PHP è un linguaggio specificamente progettato per la programmazione web con integrazione integrata con il più popolare database open source MySQL.

  • Facile da iniziare: come principiante è facile iniziare con PHP. L'utente deve semplicemente aggiungere alcuni tag PHP con ad es. un ciclo for nei suoi file HTML esistenti e quindi caricarlo sul server e vedere il risultato o un messaggio di errore. La digitazione dinamica e gli array associativi rendono inoltre più semplice l'uso di PHP.

  • Facile da usare: rispetto alla maggior parte delle soluzioni come ad es. Java, PHP non ha bisogno di essere compilato, quindi è solo per scrivere lo script e poi caricarlo sul server e quindi aggiornare il browser.

  • Supporto database integrato: PHP ha (soprattutto) supporto integrato per i database più popolari come ad es. MySQL, significa che è facile iniziare a utilizzare i database, non è necessario installare driver aggiuntivi, solo per utilizzare le funzioni mysql. Lo strumento di amministrazione basato sul Web facile da usare PHPMyAdmin (rilasciato nel 1998) è anche importante per il successo del PHP in combinazione con MySQL.

  • Vecchio linguaggio (dal 1995) con una grande base di utenti: PHP è diventato popolare all'inizio (1995) da quando è stato progettato per la programmazione web. Da allora la base di utenti è cresciuta e ora sono disponibili molti framework e librerie orientate al web. Alcuni esempi sono i sistemi blogg e le piattaforme di e-shopping.

  • Hosting economico: poiché PHP esiste da molto tempo e funziona bene su Linux e Windows e molti server Web hanno il supporto per questo. Non c'è alcun problema a trovare l'hosting con PHP preinstallato.

risposta data 26.09.2011 - 20:05
fonte
10

Per la stessa ragione, MySQL è così popolare: era nel posto giusto nel momento giusto.

Con il boom dei server Linux negli anni '90, la piattaforma LAMP (Linux-Apache-MySQL-PHP) è diventata una scelta affidabile e, soprattutto, gratuita.

Come nota a margine, prendi MySQL al momento. Queste erano due funzionalità mancanti di MySQL (dalla parte superiore della mia mente, potrebbero essercene altre) non molto tempo fa :

  • Nessun trigger
  • Non completamente ACID conforme

In che modo un DB che non era conforme a ACID (atomicità, consistenza, isolamento, durata) è diventato così popolare? La stessa risposta di PHP: era nel posto giusto nel momento giusto.

Ulteriori informazioni sul "momento giusto giusto" sui componenti LAMP:

risposta data 26.09.2011 - 20:20
fonte
8

Se ti guardi intorno, la maggior parte delle persone che eseguono PHP in questi giorni eseguono Wordpress, Drupal, Joomla e simili. O una delle 10.000 app gratuite e popolari che funzionano praticamente fuori dalla scatola con un host PHP economico e una piccola configurazione. Molte volte viene installato non perché qualcuno sta facendo qualcosa che gira su PHP, tanto più che l'opzione più semplice è quella di usare qualcosa costruito su PHP.

    
risposta data 26.09.2011 - 20:58
fonte
7

Mi sto insegnando PHP in questo momento, quindi forse posso rispondere.

Un file di codice sorgente PHP può contenere un mix di HTML, JavaScript e PHP, quindi sembra davvero facile ottenere applicazioni web semplici e funzionanti. Interazioni più complesse, che richiederebbero molto Java in una situazione JSP, o alcune strane contorsioni in una situazione CGI-BIN, vengono soddisfatte dai builtin PHP: non devi nemmeno sapere se un HTTP GET o POST chiama il tuo codice, tutto ciò che il tuo codice vuole sapere vive in _REQUEST o _SERVER o _COOKIE variabili globali.

PHP-the-langauage viene analizzato ed eseguito abbastanza rapidamente, così non si noterà un enorme calo di prestazioni durante la generazione di HTML, piuttosto che avere solo un mucchio di file HTML statici.

PHP-the-interpreter ha chiamate di libreria per quasi tutti i DBMS open source, e anche molti proprietari, quindi creare un'app web in stile 3 livelli sembra facile. PHP-the-interpreter include chiamate di libreria per molte altre situazioni comuni (a.k.a. "use cases"), quindi non devi scrivere molto codice tu stesso, basta chiamare la libreria. Quindi, proprio come le "app enterprise" di J2EE, il problema passa dal saper codificare per sapere come guardare le cose in biblioteca. Questo è aiutato dal decente manuale PHP di php.net.

Come linguaggio di programmazione, PHP non ha molti costrutti esotici, o differisce troppo da, ad esempio C, FORTRAN 4 o Pascal, quindi i programmatori che già conoscono una lingua possono facilmente imparare il linguaggio PHP-the-programming .

    
risposta data 26.09.2011 - 20:16
fonte
3

Ci sono due punti chiave per il successo di PHP: i tempi e l'attenzione per l'hosting condiviso.

All'inizio il Web era statico. I server Web potevano solo distribuire l'HTML pre-generato, ovviamente non era abbastanza dopo un po 'di tempo, quindi nel 1993 il team NCSA ha esteso il proprio server web (il predecessore di Apache httpd) con una tecnologia chiamata CGI che permetteva di chiamare programmi specifici dal server web che potevano generare al volo HTML (o altro contenuto). Questo è stato fantastico come le persone potevano fare tutte le cose. Perl era un linguaggio comunemente usato in quel momento per il Perl. Perl è un linguaggio strong nell'elaborazione del testo che è una proprietà chiave per gestire i dati delle richieste HTTP e produrre HTML. Quindi la gente lo usava.

Ma c'era un problema: per ogni richiesta il server web doveva eseguire un programma esterno, Perl doveva inizializzare ed eseguire lo script. Questo ha causato un po 'di mal di testa. Una soluzione era mod_perl arrivando ca. 1997. mod_perl è un modulo per il server web Apache che incorpora l'interprete Perl direttamente nel processo del server Web, quindi non è necessario alcun avvio aggiuntivo.

Ma ancora una volta questo approccio ha avuto un problema: mod_perl era estremamente potente e aveva accesso alla configurazione completa del server. Non è possibile utilizzare un server per ospitare più client indipendenti in quanto potrebbero facilmente danneggiare le altre persone, che si tratti di un tentativo o di un incidente. Ed è qui che è arrivato PHP.

PHP è stato costruito in modo da poter essere eseguito come modulo Apache (non avendo quindi il risultato di avvio per ogni richiesta), ma fornisce un ambiente a zero condiviso tra le richieste. Una volta che una richiesta è stata eseguita, tutte le informazioni sono andate perse e una successiva richiesta a un altro host virtuale sarebbe stata pubblicata in modo indipendente. PHP ha anche offerto funzionalità per limitare l'accesso (safe_mode, open_base_dir). Con questa scelta architettonica le aziende possono installare PHP sul proprio server e fornire ai clienti l'accesso FTP (o simile) per caricare i propri file e con l'hosting di molti clienti su una singola macchina senza molto lavoro. Ciò ha causato una concorrenza che ha portato a prezzi bassi per l'hosting basato su PHP, rendendo PHP una piattaforma onnipresente.

Inoltre PHP ha avuto alcuni vantaggi rispetto a Perl, come il permettere di combinare codice HTML e PHP o l'accesso diretto alle variabili di richiesta (vedi anche register_globals) che in Perl era più difficile (analisi personalizzata o dipendenza da CGI.pm) a cui piacevano gli sviluppatori.

Un altro aspetto che ha reso il successo di PHP in quei giorni era un buon supporto su Windows. L'utilizzo di Perl o di altri linguaggi su Windows è stato difficile, ma a quei tempi molti sviluppatori in cui l'utilizzo di Windows a casa e la virtualizzazione o i contenitori non erano ancora una cosa. PHP è stato eseguito facilmente su Windows, quindi le persone potrebbero utilizzarlo per lo sviluppo e quindi mettere in valigia i file e distribuirli su Linux. Con Perl, per esempio, dovresti ottenere la corretta distribuzione perl e quindi controllare quali moduli sono disponibili, ecc.

E le altre lingue? I linguaggi compilati come C o C ++ non hanno mai ottenuto la trazione dal momento che lo scripting serve meglio il mercato in rapido sviluppo. Java esisteva, ma le macchine virtuali Java richiedevano più risorse e hosting condiviso nel modo in cui PHP lo supportava difficilmente. Gli investimenti in harddware erano molto più alti. ASP (come predecessore di ASP.Net) era legato alla piattaforma Windows, limitandolo alle organizzazioni che già eseguono Windows e che non temono i costi di licenza, e ancora nessun supporto di hosting condiviso.

Diverse altre tecnologie in cui sono state prodotte, ma erano commerciali (Cold Fusion o Netscape Server con JavaScript lato server) che limitavano la loro copertura o non erano fuori dalla loro portata fino a quando non è arrivato Ruby-on-rails, che probabilmente era il primo ambiente ricevendo molta attenzione, ma a quel tempo PHP era già molto popolare con una grande comunità e un software ben consolidato (come Wordpress o Drupal) che rendeva difficile competere, specialmente perché lo sviluppo di PHP non si fermava mai e continua ancora.

    
risposta data 10.12.2015 - 16:01
fonte
1

Ammettiamolo, PHP è economico, facile da imparare, ha una grande comunità, è possibile ospitarli ovunque, ed è stato molto spesso. Quindi, se pensi che qualcuno che usa internet come un modo per fare soldi velocemente in un settore di piccole / medie dimensioni e dover creare un'area di sviluppo per farlo con un'infrastruttura praticamente inesistente, PHP suona piuttosto bene (per cominciare). / p>

Quindi penso che PHP sia un ottimo modo per guadagnare un po 'di soldi con un gruppo di programmatori e un piccolo computer come server.

    
risposta data 27.09.2011 - 15:25
fonte

Leggi altre domande sui tag