PHP bagi banyak orang adalah pemberi harapan palsu. Namun dalam dunia pemrograman web, PHP adalah legendaris.
Saat Rasmus Lerdorf, seorang pengangguran kala itu, meluangkan waktu menulis skrip Perl untuk homepagenya tujuh tahun lalu, tidaklah ada dalam mimpinya bayangan bahwa skrip tersebut akan berkembang menjadi bahasa pemrograman Web yang dipakai secara meluas di jutaan server Internet. PHP memang telah dilecehkan dan diprediksi mati sejak hari pertama kehadirannya, namun yang terjadi kini adalah persis kebalikannya: orang-orang di seluruh dunia menulis dan menggunakan kode PHP. Aplikasi PHP berjalan dan memroses miliaran halaman setiap harinya, berbicara ke server database dan ratusan komponen software lain. PHP menjadi andalan situs-situs besar dan kecil, masuk ke dalam jajaran papan atas software gratis yang paling populer.
Popularitas PHP
Tak perlu diragukan lagi, PHP kini amat popular. Bahkan bisa diperdebatkan kalau dalam urusan membuat Web PHP kini lebih popular dari Perl, bahasa yang sebelumnya paling banyak dipakai untuk membuat aplikasi Web dinamik. Menurut survei Security Space (www.securityspace.com) PHP telah menjadi modul Apache terpopular yang dipasang orang, melebihi semua modul lain seperti FrontPage atau mod_perl. Dan pantas saja kalau php.net, situs homepage PHP, gemar memajang hasil survei Netcraft (www.netcrafi.co.uk) di halaman mukanya. Menurut laporan terakhir September 2001, PHP telah dipakai di hampir 7 juta domain dan 1 juta alamat IP. Itu pun masih belum mencakup penggunaan PHP melalui mekanisme CGI, di webserver selain Apache, atau penggunaan yang tak terdeteksi.
ADVERTISEMENT
SCROLL TO RESUME CONTENT
Banyak situs ditenagai PHP, mulai dari situs pribadi hingga yang berukuran menengah ke atas. Tercatat antata lain simtelnet, alltheweb.com, situs MTV Jerman, FlashRit, dan sourcefOrge.net yang menggunakan PHP. Keluarga portal Astaga! dan M-Web pun kini menggunakan PHP dan MySQL, berpindah dari software mahal ratusan ribu dolar Vignette StorySerVer + Oracle yang sebelumnya dipakai situs astaga.com. Di Indonesia situs terkenal lain yang menggunakan PHP antara lain naver.co.id, padamu.com, ekilat.com, dan liputan6com. PHP terutama popular untuk forum atau situs komunitas, karena adanya aplikasi-aplikasi PHP seperti vBulletin, Phorum, atau phpBB yang dapat digunakan sebagai alternatif skrip Perl Ultimate Bulletin Board yang dulu amat ter-kenal. Aplikasi webmail IMP juga termasuk banyak dipasang di Inter-net/Intranet.
Saingan terutama PHP yang sama-sama berupa skrip yang ditulis langsung bersama HTML (embedded scripting language) adalah ASP, teknologi produksi Microsoft; JSP, solusi dari Java; dan ColdFusion, produk komersial Allaire yang kini berada di bawah bendera Macromedia. Meskipun gratis dan merupakan hasil evolusi dari sebuah hack (Rasmus Lerdorf sendiri pernah mengakui PHP adalah sebuah “pathetic hack”), namun kini PHP termasuk salah satu teknologi yang dipertimbangkan bersama-sama teknologi lain yang telah disebutkan saat orang ingin membangun situs.
Jika melakukan pencarian terhadap kata kunci PHP di search engine, Anda akan menemui bahwa PHP benar-benar popular di Internet. Banyak sekali forum diskusi dan milis yang khusus dibuat mendiskusikan PHP. Tulisan mengenai PHP pun dapat Anda jumpai berbagai media baik online maupun offline. PHP telah tersedia di seluruh distro Linux/BSD, dan setiap hari instaler PHP untuk Windows pun didownload ratusan hingga ribuan orang. Tak sulit mencari orang—di lingkungan kampus, kelompok pengguna Linux, maupun lapangan pekerjaan—yang setidaknya mengenal atau pernah memakai PHP.
Mengapa PHP Sukses?
PHP adalah salah satu contoh kesuksesan sehuah software open source. Namun mengapa kini PHP lebih menanjak ketenarannya dibandingkan Perl. Padahal sekitar tahun 1994-1996, Perl merupakan bahasa pilihan utama jika seseorang ingin menulis skrip Web, setidaltnya di lingkungan Unix. Perl adalah bahasa nomor satu yang dipakai untuk CGI, dan direktori-direktori resource CGI membuktikannya dengan jelas. Ribuan skrip CGI yang tersedia ditulis dengan Perl. Tapi kini skrip Web PHP pun jumlahnya setara dengan Perl, dan lebih banyak pengguna yang memilih untuk menginstal aplikasi PHP saja ketimbang Perl. Mengapa ini sampai terjadi?
Seperti juga ditunjukkan oleh Microsoft dengan Visual Basicnya, atau Linus Torvalds dengan Linuxnya, keunggulan teknis bukanlah faktor utama keberhasilan adopsi secara meluas. Melainkan ketersediaan, kemudahan pemakaian, dan komunitaslah yang lebih menentukan. Visual Basic bukan bahasa yang paling elegan atau modern—bahkan masih didasarkan pada bahasa mainan BASIC yang sudah superkuno—tapi Microsoft benar-benar telah mempermudah seorang programer untuk dapat menghasilkan aplikasi dengan cepat: melalui template dan wizard, kumpulan objek dan komponen yang siap dipakai, dan segu-dang dokumentasi dan resource yang komplit. Sementara Linux, meskipun pada awalnya—bahkan hingga kini—bukan sistem operasi Unix yang paling unggul atau modern, tapi menjadi clone Unix yang paling banyak dipa-kai sekarang, karena sejak dulu tersedia secara gratis dan memiliki komunitas yang luas.
Kemudahan, Kesederhanaan, dan Kemasan
Demikian hal yang sama dengan PHP. Bahasa Perl memang lebih mudah daripada C atau Java, tapi bagi seorang programer Web pemula atau desainer Web tidaklah cukup mudah. Malah, bahasa ini cenderung menakutkan. Untuk mempelajarinya rata-rata diperlukan waktu minimal seminggu hingga sebulan. Lagipula, Perl sebuah bahasa pemrograman umum. Hal-hal yang sering menjadi kebu-tuhan umum sebuah situs Web—seperti mengirim email, mendownload halaman Web lain, memroses gambar/gratik, dan melakukan koneksi ke database—biasanya terpisah sebagai modul yang harus didownload dari CPAN (www.cpan,ow), karena instalasi default Perl umumnya tidak menyertakan modul-modul spesifik Web ini. Untuk memperoleh semua kemampuan tadi, seseorang harus menginstal hingga belasan modul tersebut. Jika dilakukan oleh pemula, proses instalasi ini bisa jadi susah dan membuat frustasi, karena scring ada ketergantungan modul yang satu terhadap yang lain.
Lain halnya dengan PHP. Sejak awal PHP memang telah didesain sebagai bahasa pemrograman Web, sehingga fitur-fiturnya telah dipilihkan yang sering dipakai dalam pembuatan sebuah situs. Jika seorang menginstal PHP, bia-sanya ia sudah langsung mendapatkan kotak peralatan yang cukup lengkap: mulai dari konektivitas database, eksekusi program eksternal untuk memroses image, upload file, otentikasi HTTP, manipulasi cookie, mengambil dokumen dari URL remote, dan sebagainya. Tidak perlu lagi menginstal modul terpisah atau mengkompilasi ulang PHP, kecuali ada fitur khusus yang ingin digunakan, seperti membuat PDF atau koneksi ke situs SSL. Ini jadi salah satu kelebihan PHP dibandingkan ASP misalnya, di mana pada ASP sebagian kemampuan ini tidak terdapat secara default. Untuk mendapatkannya, Anda kadang harus merogoh kocek lagi untuk membeli komponen. Ini karena ASP tumbuh di kultur Windows, di mana mayoritas software adalah komersial atau shareware. Sementara PHP tumbuh di ling-kungan Linux. Di Linux, rata-rata software bersifat gratis atau GPL.
Dari segi bahasa pun PHP dibuat praktis untuk pemrograman Web. Misalnya, variabel dari GET/POST/cookie dapat langsung tersedia sebagai variabel biasa, tidak perlu lagi dilakukan langkah decoding. PHP versi terbaru, 4.0, juga menyediakan fitur manajemen sesi yang builtin untuk mempermudah membuat shopping cart, halaman login, atau segala sesuatu yang membutuhkan “ingatan” dari halaman ke halaman—ini sesuatu yang memang amat sering diperlukan dalam situs Web.
Konsep PHP begitu sederhana, bahkan lebih sederhana daripada CGI. Cukup buat sebuah HTML biasa, tapi tambahkan kode-kode program yang diapit dalam tanda . Persis seperti Javascript, hanya berbeda pengapit dan dieksekusi di sisi server, sehingga saat tiba ke browser kode ini sudah diganti dengan hasil eksekusinya. Sementara untuk membuat aplikasi CGI, seseorang perlu mengerti dulu mekanisme HTTP dan protokolnya, apa itu QUERY_STRING atau variabel environment, atau bagaimana mencetak header respon HTTP yang benar. Untuk menjadi programer yang serius memang akhirnya semua itu harus dimengerti, namun dengan PHP ini tidak diwajibkan dari awal. Dan, yang paling menyenangkan bagi seorang pemula, tidak ada lagi—atau amat, amat jarang—muncul halaman salah 500 Internal Server Error. Dalam pemrograman CGI tradisional, halaman yang dingin, tak ramah, tanpa dilengkapi keterangan tambahan apa-apa ini muncul setiap kali ada kesalahan sintaks atau terlupanya header yang benar dicetak. Si programer harus masuk ke server melalui telnet/SSH untuk melihat pesan kesalahannya di file log webserver. PHP membantu pemula dengan kelakuan default yaitu mencetak pesan kesalahan ke browser. Ini mempercepat siklus debugging.
Jadi, dengan kehadiran PHP, desainer Web yang sebelumnya sudah alergi atau menyerah ampun-ampun dengan Perl/CGI, kini tiba-tiba seperti mendapat semangat baru lagi untuk membuat skrip Web Minimal membuat halaman minimal dinamik yang sederhana, seperti sistem include header-footer, form mailer, guestbook, atau news headlines grabber. Fungsi fopen() di PHP misalnya, langsung dapat membuka dokumen URL remote, sementara untuk melakukan yang sama di Perl kita mem-butuhltan program eksternal seperti wget atau menginstal sekumpulan modul LWP.
Komunitas
Komunitas yang ramai dan saling membantu juga merupakan salah satu kunci kesuksesan PHP. Banyak programer Perl, yang umumnya lebih senior atau berpengalaman, kesal jika mendapat pertanyaan yang melulu bersifat Web/CGI dan itu-itu lagi dari pemula. Karena Perl bukan hanya “bahasa CGI”, melainkan sebuah bahasa umum, maka pembahasan yang terus-menerus CGI/Web juga terasa di luar topik bahasan. Sementara komunitas PHP bisa dibilang lebih “muda” demografisnya. Banyak pemula di sana yang saling bertanya dan menjawab, dan karena PHP memang bahasa Web, pembahasan seputar Web, HTML, Javascript, dsb pun masih relevan dan ditolerir.
Milis php-general@lists.php.net, milis resmi PHP, kini beranggotakan lebih dari 2500 alamat email dan aktivitasnya mencapai 250-500 email per hari. Selain itu, berbagai situs seperti phpbuildercom memiliki forum diskusi Web yang diramaikan banyak pengunjung setiap harinya.
Kecepatan
Dibandingkan dengan aplikasi CGI dalam Perl atau Python, apalagi yang berukuran cukup besar, aplikasi serupa, dalam PHP dapat sedikit banyak lebih cepat. PHP umumnya dipasang sebagai sebuah modul Apache, sehingga web-server dapat langsung mengerti dan memroses skrip PHP karena interpreter PHP telah ditanamkan ke dalamnya. Ini menghindari bottleneck yang umum terjadi di Unix, yaitu proses forking interpreter di setiap request. PHP sebetulnya dapat dijalankan juga melalui mekanisme CGI, tapi bahasa PHP yang lebih sederhana—ditambah lagi kompiler Zend Engine pada PHP4 yang memang cepat—menyebabkan skrip PHP dapat diinterpretasi dalam waktu lebih singkat.
Perl dan PHP
PHP memang erat kaitannya dengan Perl, yang bisa disebut saudara tua (atau paman?) dari PHP. Implementasi pertama PHP ditulis dalam Perl. Sintaks keduanya mirip, karena PHP pun—seperti halnya Perl—mengambil sintaks dasar dari C. PHP juga meminjam elemen-elemen bahasa dari Perl seperti prefiks $ untuk nama variabel, gaya dan fungsi-fungsi pengolahan string. Modul-modul PEAR di PHP4 juga banyak mengikuti struktur namespace dan interface modul-modul Perl.
Di sisi lain, Rasmus memutuskan untuk menjaga bahasa PHP tetap sederhana dan mudah dipelajari pemula. Hal-hal pada Perl yang dirasanya kriptik atau membingungkan tidak dipakai. Seperti yang dikatakan Rasmus, “Perl has a lot of magic. I hate magic.” Misalnya, list assignment di PHP dilakukan secara eksplisit melalui fungsi list (), agar pemakai dapat mencari kata list ini dengan mudah di manual. Regex terpadu juga tidak ada di PHP menjadi fungsi-fungsi preg_*().
Hal-hal lain pada PHP lebih rapi daripada di Perl, karena PHP didesain setelah Perl. Misalnya, PHP memiliki kata kunci untuk pemrograman OO seperti class, extends, dan $this. Sementara di Perl, karena fitur OO baru ditambahkan di versi 5 dalam bentuk sebuah hack, tidak memiliki istilah yang spesifik.
Selain itu, penggunaan prefiks variabel tunggal $(ketimbang tiga buah di Perl: $, @, dan %) juga merupakan sebuah penyederhanaan yang membantu pemula. Banyak pemula Perl, misalnya, yang mengalami kesulitan membedakan $foo [bar] (mengambil satu elemen dari array @foo) dengan @foo[bar] (mengambil subarray dari array @foo). Namun di luar penyederhanaan ini, selebihnya bisa dikatakan bahwa bahasa PHP lebih terbatas dibandingkan Perl. Namespace, overloading, multiple inheritance, atau mekanisme seperti tie/tainting/restricted execution, semuanya belum ada pada PHP.
Pada tahun 1996, Rasmus menulis mod_php, modul PHP untuk Apache. Modul ini akhirnya menjadi mekanisme yang paling banyak dipakai orang untuk menjalankan skrip PHP karena lebih efisien daripada mekanisme CGI. Beberapa waktu kemudian, Perl pun memiliki mod_perl yang ditulis oleh Doug MacEachern, tapi dua software ini cukup berbeda dalam cakupan dan tujuan. mod_php adalah modul untuk menjalankan skrip PHP, itu saja, sementara mod,perl bertujuan lebih luas, yaitu untuk mengintegrasikan Apache dengan Perl dengan menyediakan interface API Apache yang lengkap kepada programer Perl. Akibatnya, mod_perl adalah sebuah software yang kompleks dan sulit dipelajari. Untuk menulis aplikasi Web biasa yang lebih cepat dari Perl/CGI, umumnya digunakan satu lapisan lagi yaitu program Perl seperti HTML::Mason atau HTML::Embperl. Kedua software inilah yang sebetulnya menjadi saingan PHP, karena sama-sama berupa skrip embeddcd. Namun PHP memiliki kelebihan dari mod_perl dalam hal pembuatan aplikasi Web, yaitu tidak terikat pada Apache maupun API-nya. Anda dapat memilih untuk menjalankan aplikasi PHP Anda dengan kombinasi webserver lain seperti iPlanct/Netscape, IIS, atau Zeus. Selain itu, PHP pun praktis tersedia di semua hosting Unix/Linux, sementara mod_perl jauh lebih jarang.
Kelemahan PHP
Selain berbagai kemudahan, PHP memiliki beberapa masalah atau kekurangan. Pertama, dari segi bahasa ia bukanlah bahasa yang ideal untuk pengembangan berskala besar. Kekurangan utama adalah tidak adanya namespace. Namespace merupakan sebuah cara untuk mengelompokkan nama variabel atau fungsi dalam susunan hirarkis. Misalnya, $ModuleA: :Modul eB: c adalah variabel $c di dalam Modul eB, yang terdapat di bawah Modul eA. Modul lain, misalnya Modul eA: :Modul eC atau Modul eD dapat memiliki variabel $c juga, tapi keduanya dua variabel berbeda. Di dalam ModuleB, variabel $c pertama dapat disebutkan hanya $c saja, tapi untuk merujuk pada variabel kedua, diperlukan nama lengkap $Modul eD: : c. Di PHP ini tidak ada, jadi kadang programer mengakalinya dengan membuat nama seperti $Modul eA_Modul eB_c. Kekurangannya, nama panjang ini harus disebutkan di setiap waktu.
Kita juga tidak dapat membuat fungsi dalam fungsi atau kelas dalam kelas di PHP, semuanya hanya bisa terbatas satu level.
Sebagian pengguna lanjut mengeluhkan model objek PHP yang minim. Dibandingkan dengan Python dan Perl, PHP tidak memiliki multiple inheritance, kemampuan untuk mewarisi dari dua atau lebih kelas induk. Multiple inheritance dapat berguna untuk fleksibilitas dalam pengembangan 00. Java memang tidak memiliki multiple inheritance, tapi ada interface di Java. Di PHP ini pun tidak ada. Selain itu, belum ada penanganan eksepsi (raise, catch, throw) di PHP, dan kita tidak bisa memanggil metode/atribut secara berangkai, mis: $obj->meth () ->meth2 (). Hal lainnya, tidak ada destruktor (meskipun ada konstruktor). Juga, karena model pemrograman yang embed-ded (tercampur dengan HTML), maka pengembang harus berhati-hati agar aplikasinya yang nanti menjadi besar tidak acak-acakan seperti mie. Ketercampuran ini dapat mengurangi modularitas, reuse, dan memberatkan maintenance. Karena itu untuk aplikasi berskala menengah ke atas perlu ditempuh upaya pemisahan kembali antara template HTML dan kode/logika, antara lain dengan sistem template.
Efisiensi mod_php
Hingga PHP4 tidak ada traceback info bagi programer PHP. Keterangan ini tidak diberikan oleh Zend Engine dengan alasan efisiensi eksekusi skrip PHP, agar aplikasi PHP berjalan ramping dan cepat. Tapi, yang mungkin jarang disadari oleh kebanyakan orang, efisiensi mod_php sebetulnya tidak jauh berbeda dari CGI dan secara teori lebih tidak efisien ketimbang mod_perl. mod_php4 selalu membuang hasil kompilasi skrip PHP di akhir selesai request (persis seperti CGI). Jadi tidak seperti mod_perl yang menyimpan (cache) hasil kompilasi skrip ke dalam memori. Perbedaan mod_php dengan CGI hanyalah menghindari fork interpreter berulang-ulang. Jika skrip PHP Anda panjang dan banyak, maka kecepatan respon akan turun drastis karena proses kom-pilasi ulang ini memakan waktu. Untungnya, kompiler Zend Engine amat cepat, turunnya kecepatan respon baru terasa di level ribuan baris kode PHP. Namun akibatnya, PHP belum cocok digunakan untuk situs berskala besar. Untuk meningkatkan efisiensi, dibutuh-kan cache PHP terpisah. Contohnya produk Zend Accelerator (dulu Zend Cache) yang komersial atau APC dan bwCache yang gratis.
Keamanan
Sebagai konsekuensi kepraktisan dan kemudahannya, instalasi default PHP banyak memiliki kelemahan keamanan. Variabel global di PHP dapat berasal dari masukan pengunjung Web (dari GET/POST/Cookie), sehingga bila programernya ceroboh tidak menginisialisasi tiap variabel sebelum pemakaian, seorang penyerang dapat memasukkan nilai-nilai awal variabel ke dalam skrip untuk mengubah kelakuannya. Sebelum PHP 3.0.18 terdapat bug pada file upload yang banyak dieksploitasi untuk menembus banyak situs PHP. Dalam bug ini interpreter PHP dapat diakali untuk menulisi file di filesystem server mana pun sesuai keinginan penyerangnya, karena path dapat dimasukkan lewat form HTML.
Beberapa kelemahan ini dapat dikonfigurasi atau dimatikan. Karena itu seorang programer PHP dan admin perlu mengetahui opsi.opsi konfigurasi PHP agar sistem mereka lebih aman.
Kompilasi
Satu lagi isu terakhir, saat ini tidak ada produk gratis untuk mengkompilasi kode PHP. Bandingkan dengan Python atau Java misalnya, yang sejak awal sudah memiliki kemampuan menyimpan hasil kompilasi bytecode ke dalam file. Artinya, sebagian vendor aplikasi mungkin mempertimbangkan untuk tidak menggunakan PHP karena takut kodenya dapat dilihat oleh klien/pembeli program. Ada produk bernama Zend Encoder untuk mengatasi masalah ini, namun produk ini harganya mahal. Pertama diluncurkan dibandrol $6000 per mesin, meskipun kini—setelah diprotes habis-habisan oleh komunitas PHP—”hanya” berharga sekitar $2000 dan juga ada opsi pembayaran berlangganan (meskipun ini artinya pengembang aplikasi harus membayar terus-menerus pada Zend $50/bulan jika ingin masih bisa mengkompilasi kode PHP-nya).
Masa Dapan PHP
Kelemahan-kelemahan yang disebutkan sebelumnya tentu saja tidak menghalangi PHP untuk tetap digunakan secara meluas. Setidak-nya, dibandingkan dengan produk-produk komersial, PHP dapat menurunkan biaya karena softwarenya gratis dan sudah mencakup fitur yang cukup lengkap.
Zend Engine 2.0 yang dikembangkan—Zend adalah komponen kompiler dan executor pada PHP4—juga direncanakan akan memperbaiki kelemahan-kelemahan model objek PHP4 (atau PHP5?). Dengan versi 2.0, kemungkinan PHP akan memiliki fitur multiple inheritance, destruktor, eksepsi, pemanggilan metode berangkai, dan mungkin juga atribut privat.
Popularitas umumnya mendongkrak kesuksesan, dan tampaknya ini pun akan terjadi dengan PHP. Popularitas PHP yang begitu besar saat ini akan menjamin bahwa PHP akan tetap dipakai secara meluas di tahun-tahun mendatang. Bahkan juga mungkin di luar kon-teks Web/pemrograman Web tradisional. Kita sudah melihat ada yang mengembangkan PHP-GTK, tool untuk membuat program GUI desktop dengan GTK+. Di masa depan, di zaman Web services dan berkembangnya generasi aplikasi Web berikutnya, kita bisa cukup yakin bahwa PHP akan turut berada di sana! (sh)
Tokoh-Tokoh di Balik PHP
Rasmus Lerdorf
Bapak PHP. Programer C dan sys-admin Unix, berasal dari Denmark. Kini duduk dalam keanggotaan Apache Software Foundation berkat karyanya, bahasa PHP. Membuat PHP pertama kali karena kebutuhan pribadi.
Zeev Suraski
Salah satu pengembang inti PHP3 dan PHP4. Pendiri Zend Tehnologies, Ltd., perusahaan ber-basis di Israel yang menjual produk-produk komersial untuk PHP.
Andi Gutmans
Bersama Zeev Suraski saat keduanya masih mahasiswa S1 di Technion University, mengembangkan parser baru pengganti milik Rasmus untuk PHP3. Parser untuk PHP ini merupakan tugas akhir mata kuliah Pengembangan Web.
Tobias Ratschiller
Pengarang Web Application Devel-opment With PHP4, salah satu buku PHP terpopuler. Pengembang phpWizards.net, phpAds, dan phpMyAdmin. CEO Maguma AG, perusahaan berbasis Italia yang menawarkan solusi PHP.
Andrei Zmievski
Pengembang Apache dan PHP, ang-gota ASF dan PHP Group. Berasal dari Rusia dan kini tinggal di AS. Mengembangkan PHP GTK, extension PCRE untuk PHP, extension WDDX, dan penulis sistem template Smarty.
Stig Bakken
Mengembangkan dukungan konektivitas Oracle di PHP/FI. Bekerja di FAST, perusahaan search engine Norwegia. Pengembang PEAR.
Shane Caraveo
Programer Windows. Memport PHP ke Windows dan berusaha membuatnya thread-safe. Mengembangkan modul ISAPI untuk PHP.
Jim Winstead
Bersama lima orang lainnya—Rasmus, Zeev, Andi, Stig, dan Shane—termasuk orang yang menjadi pengembang inti PHP3. Jim bertindak sebagai editor dan pemeriksa kode, mengecek dan membetulkan kesalahan rekan-rekan lainnya.
Sam Ruby
Anggota Apache Software Foundation dan PHP Group sejak November 1999. Programer senior di IBM dan berpengalaman dengan Java. Menyumbangkan SAPI (server API) untuk menjalankan PHP sebagai servlet.
Thies Arntzen
Anggota PHP Group. Pendiri Digital Collections. Bersama Stig, termasuk salah satu pengembang kode untuk menghubungkan PHP dengan Oracle. Pindah ke PHP karena bosan dengan C.
Egon Schmid
Anda akan menjumpai namanya di halaman depan manual PHP Egon adalah koordinator proyek doku-mentasi PHP. PHP termasuk salah satu software open source yang doku-mentasinya baik, sehingga menjadi popular.
Sascha Schumann
Berasal dari Jerman, Anggota Apache Software Foundation dan PHP Group. Mengerjakan antara lain portabilitas PHP dan sebagai penasihat bagi kontributor lainnya. Juga aktif mengembangkan Apache.
Sterling Hughes
Penulis aplikasi PHE Pengarang buku PHP Developer’s Cookbook yang baru terbit. Pernah menghindari PHP/FI, namun setelah melihat perkembangan PHP3 dan PHP4, kini kembali aktif ber-PHP ria.
Tim Perdue
Pendiri phpbuilder.com dan salah satu pengembang sourcefbrge.net dan geocrawler.com, ketiganya ditulis dalam PHP. Pertama memakai PHP akhir 1998 di platform LinuxPPC.
Nathan Wallace
Berbasis di Australia, Nathan adalah konsultan IT/PHP dan pendiri Synop. Mengembangkan situs faqts.com dan e-gineer.com. php.faqts.com cukup popular sebagai salah satu situs resource PHP.
Richard Lynch
Pengembang Web dan aktivis milis. Juga banyak menyumbang kode sampel PHP di Zend.com.
Sejarah PHP
Agustus – September 1994 – PHP 0
Rasmus Lerdorf, seorang programer Unix dan Perl, saat itu sedang mencari kerja. Ia menaruh resumenya di Web, dan membuat skrip makro Perl CGI untuk mengetahui siapa saja yang melihat resumenya. Skrip ini bekerja dengan cara membaca sebuah file HTML berisi makro/tag, mengganti tag-tag tersebut melalui regex, lalu mencetak hasilnya kembali. Tag ini berupa tanda # yang ditaruh di awal baris, di bagian bawah halaman, dan menandai instruksi untuk melakukan log dan mengirimi Rasmus email manakala halaman yang bcrsangkutan diakses.
Awal 1995—PHP 1 (Personal Home Page Tools)
Rasmus kini bekerja sebagai IT Consultant untuk mengembangkan sis-tem dial up di Universitas Toronto, Kanada. Rasmus, sebagai konsultan, mengajari belasan programer pemula untuk menggunakan PHP. Ia memilih PHP karena lebih mudah diajarkan ketimbang Perl. PHP akhirnya dipakai untuk membuat interface grafik ber-basis Web.
Rasmus menulis ulang PHP dalam C untuk meningkatkan kecepatannya. Saat itu PHP 1 amat sederhana: berbasis makro, parsernya bekerja per baris, dan hanya mengenal sepuluh buah fungsi. Untuk kebutuhan proyek di Toronto, Rasmus juga mengembangkan Form Interpreter, tool untuk menanamkan SQL dalam halaman Web dan untuk memroses masukan dari form HTML.
September – Oktober 1995 – PHP 2.0
Kode PHP dan FI ditulis ulang dan digabungkan menjadi PHP/FI. Generasi kode berikutnya ini baru disebut PHP/FI versi 2.0 setengah tahun lebih kemudian, namun di akhir 1995 untuk pertama kalinya dirilis bagi publik secara gratis. Rasmus memilih untuk membagikan kode ini karena percaya, jika bermanfaat bagi dirinya, lalu bagi orang lain, pada akhirnya akan membawa manfaat kembali kepada dirinya.
April 1996
Rasmus menulis mod_php, modul untuk memroses skrip PHP langsung dari Apache. Pada saat ini belum ada mod_perl, Embperl, maupun rilis HTML::Mason, sehingga praktis mod_php menjadi salah satu pilihan utama bahasa skripting embedded di Apache.
PHP/FI untuk pertama kalinya mendukung MySQL. Database pertama yang didukung adalah mSQL. PHP versi 2.0 ini juga sudah mulai mendukung Windows 32 bit (95/NT). PHP/FI dipakai di 15 ribu situs seluruh dunia.
Pertengahan 1997
Pemakai PHP/FI mencapai 50 ribu situs.
Oktober 1997
Pengerjaan PHP3 dimulai setelah sumbangan parser dari Zeev dan Andi.
Januari 1998
Dukungan MySQL untuk Windows. Hingga saat ini, PHP telah mendukung lebih dari 7 database: mSQL, MySQL, Sybase, PostgreSQL, SQL Server (melalui library Sybase CT), Adabas, dan Oracle.
6 Juni 1998 —PHP 3.0 (Profissional Home Page)
Versi final PHP 3.0 dirilis setelah 7 bulan fase beta. PHP3, berbasis parser baru, memiliki kinerja yang lebih tinggi, berkemampuan object-oriented, syntax highlighting, array multidimensi, dan dapat diperluas melalui mekanisme extension. Dukungan database dan fiturnya pun jauh bertambah banyak. Secara umum, sebuah peningkatan drastis dari PHP/ FI yang lebih merupakan proyek pribadi Rasmus. PHP3 adalah hasil kontribusi banyak orang dari berbagai penjuru dunia. Kepanjangan PHP di-ubah dari Personal menjadi Professional Home Page.
Oya, for() baru ada di PHP3!
Desember 1998
PHP/FI mulai disertakan di Red Hat Linux 6.0. (PHP3 sejak Red Hat 6.2 dan PHP4 sejak 7.0.) phpbuilder.com online.
Mei 1999
Beta PHP4 dan Zend Engine 1.0 dirilis.
Juli 1999
Beta pertama PHP4.
Oktober 1999
PHP melampaui FrontPage sebagai modul Apache terpopuler, dengan 219 ribu vs 194 ribu host. (Berdasarkan survei oleh Security Space). Peringkat ketiga dan keempat diduduki oleh mod_perl dan mod_ssl.
November 1999
Menurut survei Netcraft, PHP dipakai di 1,1 juta domain dan 357 ribu alamat IP.
Zend Technologies, Ltd didirikan oleh Zeev dan Andi (Zend merupakan gabungan dari kedua nama pendirinya tersebut) dengan kucuran dana dari Shimon Eckhouse dan Moshe Mizrachi.
20-24 Januari 2000 Konferensi internasional PHP yang pertama, dilangsungkan di Tel Aviv.
Februari 2000
Walden Israel Ventures menanamkan modal $2,5juta di Zend, dengan valuasi perusahaan pada saat itu sebesar $13 juta.
2 Maret 2000
Zend.com diluncurkan sebagai portal bagi komunitas PHP.
22 Mei 2000—PHP 4.0
Setelah setahun lebih dalam masa penggodokan, versi final PHP4 akhirnya dirilis oleh Zeev Suraski. PHP4 adalah sebuah penulisan ulang bahasa dan implementasi PHP. Kini PHP4 direfaktor ke dalam komponen-komponen berikut: engine Zend, yang melakukan kompilasi dan eksekusi; core PHP4, yang berisi fungsi dan regex builtin; SAPI, yang menjadi interface ke webserver; TSRM, sebagai manajer memori dan resource; serta modul extension, yang menyediakan mayoritas fitur-fitur PHP bagi pemakai. PHP4 juga lebih cepat, dilengkapi kemampuan manajemen sesi builtin, mendukung.
Juni 2000 PHP 4, 0.1
Highlight: set_error_handler() dan create_function().
Agustus 2000—PHP 4.0.2
Highlight: modul pspell dan curl.
Oktober 2000–PHP 4.0.3
Highlight: dukungan Sablotron, is_uploaded_file() untuk mengatasi lubang keamanan file upload PHP.
November 2000
Laporan dari Netcraft, pemakai PHP mencapai 762 ribu alamat IP dan 4,3 juta domain, yang berarti 35% dari total seluruh domain yang ditemukan Netcraft.
Desember 2000—PHP 4.0.4
Highlight: versi perbaikan bug.
April 2001 – PHP 4.0.5.
Highlight: SAPI FastCGI dan dukungan untuk webserver Zeus
Juni 2001—PHP 4.0.6
Highlight: update domxml, mysql_unbuffered_query(), efisiensi penggunaan memori. Dibandingkan versi awal PHP yang hanya memiliki kurang dari selusin fungsi, kini jumlah fungsi builtin di PHP telah mencapai 1300-an.
23-27 Juli 2001
Konferensi internasional resmi PHP pertama diadakan oleh O’Reilly di San Diego, California.
2 Agustus 2001
PHP-GTK 0.1 dirilis. Berkat PHP-GTK, PHP kini dapat dipakai untuk pemrograman desktop. PHP-GTK adalah extension PHP yang menyediakan interface ke library GUI toolkit GTK+.
September 2001
Laporan Netcraft September 2001 untuk PHP: 6,6 juta domain, 979 ribu alamat IP.
8 November 2001
Zend Engine dirilis ulang dengan lisensi BSD. Sebelumnya, Zend Engine dirilis dengan lisensi QPL. Ini artinya, Zend Engine tidak dapat didistribusikan ulang terpisah dari PHP4. Dengan lisensi baru, maka kegunaan Zend Engine bagi pemakai bertambah, karena dapat dimodifikasi dan didistribusikan ulang lebih bebas. (sh, berbagai sumber)
Sumber: Majalah Master Web, November 2001