Mengapa PHP begitu sering digunakan di server web? [Tutup]

14

Server web saya menggunakan PHP seperti halnya 76,9% server web menurut W3Techs:

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

Alasan saya menggunakan PHP adalah kelambanan karena melihat orang lain menggunakannya di server web. Ada apa dengan PHP yang akan membuatnya jadi mana-mana di server web?

(Perhatikan bahwa pertanyaan ini mirip dengan pertanyaan berikut tetapi membawanya ke arah yang berbeda: Mengapa Java tidak digunakan untuk pengembangan aplikasi web modern? )

Deets McGeets
sumber
4
Saya selalu berasumsi karena mudah untuk menginstal di Apache dan hampir semua server web adalah Apache.
maple_shaft
14
PHP adalah bahasa yang membuktikan bahwa sementara hampir semua orang bisa memprogram, hampir semuanya tidak seharusnya. Ini adalah Visual Basic dari generasi web.
Paul Tomblin
2
Saya ingin memperdebatkan hal lain - PHP memiliki abstraksi yang bagus untuk situs web - ramah terhadap cache, memiliki siklus permintaan / respons yang tidak berubah, tidak membuat Anda berurusan dengan manajemen sumber daya, tidak membuat Anda berurusan dengan struktur data, ini Sifat dinamis bekerja dengan baik dengan basis data dan memiliki banyak fungsi bawaan sehingga paket lebih jarang dan penyebarannya mudah. Saya tidak suka PHP, tetapi sangat mudah untuk membuat kasus untuk itu - saya tidak yakin tapi itu mudah dibuat.
Benjamin Gruenbaum

Jawaban:

41

PHP adalah bahasa yang dirancang khusus untuk pemrograman web dengan integrasi bawaan dengan database open source MySQL yang paling populer.

  • Mudah untuk memulai: Sebagai pemula, mudah untuk memulai dengan PHP. Pengguna hanya perlu menambahkan beberapa tag-PHP dengan misalnya for-loop di file HTML yang ada dan kemudian mengunggahnya ke server dan melihat hasilnya atau pesan kesalahan. Mengetik dinamis dan array asosiatif membuatnya juga lebih mudah untuk mulai menggunakan PHP.

  • Mudah digunakan: Dibandingkan dengan sebagian besar solusi seperti Java, PHP tidak perlu dikompilasi, jadi cukup dengan menulis skrip lalu mengunggahnya ke server lalu memperbarui peramban.

  • Dukungan basis data terintegrasi: PHP memiliki (sebagian besar) dukungan bawaan untuk basis data paling populer seperti mis. MySQL, itu artinya mudah untuk mulai menggunakan basis data, tidak ada driver tambahan yang perlu diinstal, hanya menggunakan fungsi mysql. Alat admin berbasis web yang mudah digunakan PHPMyAdmin (dirilis 1998) juga penting untuk keberhasilan PHP dalam kombinasi dengan MySQL.

  • Bahasa lama (sejak 1995) dengan basis pengguna besar: PHP menjadi populer awal (1995) karena dirancang untuk pemrograman web. Sejak itu basis pengguna telah berkembang dan sekarang ada banyak kerangka kerja dan perpustakaan yang berorientasi web tersedia. Beberapa contohnya adalah sistem blogg dan platform e-shopping.

  • Hosting murah: Karena PHP sudah ada sejak lama dan berfungsi dengan baik di Linux dan Windows, dan banyak webserver mendukungnya. Tidak ada masalah untuk menemukan hosting dengan PHP yang sudah diinstal sebelumnya.

Jonas
sumber
1
tandai ini sebagai jawaban, Anda tidak perlu melangkah lebih jauh: P. Jawaban yang bagus @Jonas
Pankaj Upadhyay
Sebagian besar poin di sini juga berlaku untuk ASP klasik. Oh, dan juga JSP biasa.
Adriano Carneiro
4
@Adrian: 1) PHP dirilis sebelum JSP dan ASP. 2) Lebih mudah menggunakan MySQL dengan PHP karena Anda tidak harus menangani ODBC atau JDBC dan driver 3) ASP tidak mudah dan tersebar luas di Linux (hosting murah) pada saat itu. 4) Java dengan mengetik statis itu agak sulit untuk memulai dengan untuk pemula.
Jonas
1
@Jonas, Anda sebagian besar memperkuat poin saya: 1) itu adalah satu-satunya bahasa web yang layak, jadi tempat yang tepat, waktu yang tepat. 3) LAMP, begitulah postingan saya. Juga, tenang saja, saya tidak mengatakan PHP itu buruk. Saya hanya mengatakan mengapa itu menjadi populer: itu mengisi kekosongan, itu saja.
Adriano Carneiro
9
"Mudah untuk memulai" adalah, saya pikir, apa yang diluncurkannya. Perl ada, dan bisa melakukan semua yang bisa dilakukan PHP. Tapi PHP hanya jauh lebih mudah bagi pemula yang lengkap untuk memulai. Dan saya curiga komunitas itu lebih ramah terhadap para novis. PHP mengisi kekosongan yang VB lakukan untuk pemrograman Windows - cukup mudah bahwa orang dapat memulai sendiri dan benar-benar membuat sesuatu.
GrandmasterB
10

Untuk alasan yang sama MySQL sangat populer: ia berada di tempat yang tepat pada waktu yang tepat.

Dengan boom server Linux di tahun 90-an, platform LAMP (Linux-Apache-MySQL-PHP) muncul sebagai opsi yang andal dan, yang paling penting, gratis.

Sebagai catatan, ambil MySQL pada saat itu. Ini adalah dua fitur yang hilang dari MySQL (dari pikiran saya, mungkin ada lebih banyak) belum lama ini :

  • Tidak ada pemicu
  • Tidak sepenuhnya memenuhi ACID

Bagaimana DB yang bahkan tidak sesuai dengan ACID (atomisitas-konsistensi-isolasi-daya tahan) menjadi begitu populer? Jawaban yang sama seperti PHP: itu di tempat yang tepat di waktu yang tepat.

Bacaan lebih lanjut tentang "waktu yang tepat dan tepat" pada komponen LAMP:

Adriano Carneiro
sumber
3
Jika "itu di tempat yang tepat di waktu yang tepat" adalah jawabannya, maka Perl dan CGI dengan C seharusnya melihat popularitas yang sama.
Jonas
2
"Bagaimana DB yang bahkan tidak sesuai dengan ACID menjadi begitu populer?" - itu mudah ... bukankah itu penting bagi kebanyakan orang. MySQL cukup andal untuk sebagian besar penggunaan web. Cukup andal sejak dini bagi bank? Mungkin tidak. Untuk forum web? Iya.
GrandmasterB
Saya punya kolega yang akan berteriak "tapi MySQL bukan RDBMS!". Saya menemukan itu lucu. Popularitas adalah hal yang lucu. Kita - pengembang perangkat lunak - tidak boleh menjadi budak tren, kita harus terus belajar untuk terus bekerja. Siapa pun yang membela teknologi terlalu banyak cenderung melepaskannya. Dan itu selalu berbahaya secara profesional. Topik ini sudah berakhir untuk saya. :)
Adriano Carneiro
8

Jika Anda melihat-lihat, kebanyakan orang yang menjalankan PHP hari ini menjalankan Wordpress, Drupal, Joomla dan sejenisnya. Atau satu dari 10.000 aplikasi gratis dan populer yang cukup banyak digunakan dengan host PHP yang murah dan sedikit konfigurasi. Banyak kali itu terinstal bukan karena ada orang yang membuat sesuatu yang berjalan pada PHP begitu banyak pilihan termudah adalah menggunakan sesuatu yang dibangun di PHP.

Wyatt Barnett
sumber
7

Saya sedang belajar sendiri PHP sekarang, jadi mungkin saya bisa menjawab.

File kode sumber PHP dapat berisi campuran HTML, JavaScript dan PHP, sehingga tampaknya sangat mudah untuk menjalankan dan menjalankan aplikasi web sederhana. Interaksi yang lebih kompleks, yang akan membutuhkan banyak Java dalam situasi JSP, atau beberapa contortions aneh dalam situasi CGI-BIN, dapat dipenuhi oleh PHP bawaan: Anda bahkan tidak perlu tahu apakah HTTP GET atau POST memanggil Anda kode, semua yang ingin diketahui kode Anda dalam variabel global _REQUEST atau _SERVER atau _COOKIE.

PHP-langauage akan diuraikan dan dieksekusi cukup cepat sehingga Anda tidak akan melihat penurunan kinerja besar saat menghasilkan HTML, daripada hanya memiliki banyak file HTML statis.

PHP-the-interpreter memiliki panggilan pustaka untuk hampir setiap DBMS open source, dan banyak juga yang berpemilik, sehingga membuat aplikasi web 3-tier-style terlihat mudah. PHP-the-interpreter menyertakan panggilan pustaka untuk banyak situasi umum lainnya (alias "kasus penggunaan"), jadi Anda tidak perlu menulis banyak kode sendiri, cukup panggil perpustakaan. Jadi, seperti halnya J2EE "aplikasi perusahaan", masalahnya beralih dari mengetahui cara membuat kode menjadi mengetahui cara mencari hal-hal perpustakaan. Ini dibantu oleh manual PHP php.net yang sangat baik.

Sebagai bahasa pemrograman, PHP tidak memiliki banyak konstruksi eksotis, atau terlalu banyak berbeda dari, katakanlah C, FORTRAN 4 atau Pascal, sehingga programmer yang sudah tahu satu bahasa dapat dengan mudah mengambil bahasa pemrograman PHP.

Bruce Ediger
sumber
3

Ada dua poin kunci untuk kesuksesan PHP: Waktu dan fokus pada shared hosting.

Awalnya Web itu statis. Web-Server hanya dapat mendistribusikan HTML yang dihasilkan sebelumnya ini jelas tidak cukup setelah beberapa waktu sehingga pada tahun 1993 tim NCSA memperluas server web mereka (pendahulu Apache httpd) dengan teknologi yang disebut CGI yang memungkinkan memanggil program khusus dari server web yang dapat menghasilkan HTML (atau konten lainnya) dengan cepat. Ini hebat karena orang bisa melakukan semua hal. Bahasa yang umum digunakan pada waktu itu untuk tujuan itu adalah Perl. Perl adalah bahasa yang kuat dalam pemrosesan teks yang merupakan properti utama untuk menangani data permintaan HTTP dan memproduksi HTML. Jadi orang menggunakannya.

Tetapi ada masalah: Untuk setiap dan setiap permintaan server web harus menjalankan program eksternal, Perl harus menginisialisasi dan menjalankan skrip. Ini menyebabkan beberapa sakit kepala. Solusi adalah mod_perl datang ca. 1997. mod_perl adalah modul untuk server web Apache yang menyematkan penerjemah Perl langsung ke proses server web sehingga tidak diperlukan startup tambahan.

Tetapi sekali lagi pendekatan ini memiliki masalah: mod_perl sangat kuat dan memiliki akses ke konfigurasi server lengkap. Anda tidak dapat menggunakan satu server untuk meng-host beberapa klien independen karena mereka dapat dengan mudah membahayakan orang lain - baik itu sengaja atau tidak sengaja. Dan di situlah PHP datang.

PHP dibangun dengan cara yang dapat dijalankan sebagai modul Apache (sehingga tidak memiliki startup yang memulai untuk setiap permintaan) tetapi menyediakan lingkungan yang tidak dibagi antara permintaan. Setelah permintaan dilakukan, semua informasi hilang dan permintaan berikutnya ke host virtual lain akan dilayani secara independen. PHP juga menawarkan fitur untuk membatasi akses (safe_mode, open_base_dir). Dengan pilihan arsitektur itu, perusahaan dapat menginstal PHP di server mereka dan memberikan pelanggan FTP (atau yang serupa) akses untuk mengunggah file mereka dan dengan itu menjadi tuan rumah banyak banyak pelanggan pada satu mesin tanpa banyak pekerjaan. Hal ini menyebabkan kompetisi yang mengarah pada harga murah untuk hosting berbasis PHP yang menjadikan PHP platform yang ada di mana-mana.

Selain itu PHP memiliki beberapa manfaat dibandingkan Perl, seperti memungkinkan untuk mencampur kode HTML dan PHP atau akses langsung ke variabel permintaan (lihat juga register_globals) yang di Perl lebih sulit (penguraian khusus atau ketergantungan pada CGI.pm) yang disukai pengembang.

Aspek lain yang membuat PHP sukses pada masa itu adalah dukungan yang baik pada Windows. Mendapatkan Perl atau bahasa lain yang bekerja di Windows itu sulit, tetapi pada waktu itu banyak pengembang di mana menggunakan Windows di rumah dan virtualisasi atau wadah masih belum ada. PHP memang berjalan dengan mudah di Windows sehingga orang bisa menggunakannya untuk pengembangan dan kemudian mengemas file dan menyebarkannya di Linux. Dengan Perl misalnya Anda harus mendapatkan distribusi perl yang benar dan kemudian memeriksa modul mana yang tersedia sama sekali dll.

Bagaimana dengan bahasa lain? Bahasa yang dikompilasi seperti C atau C ++ tidak pernah mendapat traksi karena scripting melayani pasar yang berkembang pesat dengan lebih baik. Java ada, tetapi mesin Java Virtual membutuhkan lebih banyak sumber daya dan berbagi hosting dengan cara PHP mendukungnya. Investasi dalam harddware jauh lebih tinggi. ASP (sebagai pendahulu dari ASP.Net) terikat pada platform Windows, membatasinya pada organisasi yang sudah menjalankan Windows dan yang tidak takut dengan biaya lisensi, dan sekali lagi tidak ada dukungan hosting bersama.

Teknologi lain yang berbeda di mana diproduksi tetapi baik komersial (Cold Fusion atau Netscape Server dengan JavaScript sisi-server) membatasi jangkauan mereka atau tidak keluar dari jangkauan mereka sampai Ruby-on-rails datang, yang mungkin merupakan lingkungan pertama yang menerima banyak perhatian, tetapi pada saat itu PHP sudah sangat populer dengan komunitas besar dan perangkat lunak yang mapan (seperti Wordpress atau Drupal) membuatnya sulit untuk bersaing - terutama karena pengembangan PHP tidak pernah berhenti dan masih berlangsung.

johannes
sumber
1

Mari kita hadapi itu, PHP murah, mudah dipelajari, memiliki komunitas besar, Anda dapat meng-host-nya di mana saja, dan sudah ada banyak. Jadi, jika Anda berpikir sebagai seseorang yang menggunakan internet sebagai cara untuk menghasilkan uang dengan cepat di industri kecil / menengah dan harus membuat area pengembangan untuk melakukannya dengan infrastruktur yang praktis tidak ada, PHP terdengar cukup bagus (untuk memulai).

Jadi saya pikir PHP adalah cara terbaik untuk menghasilkan uang dengan cepat dengan sekelompok programmer dan komputer kecil sebagai server.

guiman
sumber