Pengertian PHP
PHP merupakan singkatan dari "PHP: Hypertext Preprocessor", adalah sebuah bahasa scripting yang terpasang pada HTML. Sebagian besar sintaks mirip dengan bahasa C, Java dan Perl, ditambah beberapa fungsi PHP yang spesifik. Tujuan utama bahasa ini adalah untuk memungkinkan perancang web menulis halaman web dinamik dengan cepat.
Hubungan PHP dengan HTML
Halaman web biasanya disusun dari kode-kode html yang disimpan dalam sebuah file berekstensi .html. File html ini dikirimkan oleh server (atau file) ke browser, kemudian browser menerjemahkan kode-kode tersebut sehingga menghasilkan suatu tampilan yang indah. Lain halnya dengan program php, program ini harus diterjemahkan oleh web-server sehingga menghasilkan kode html yang dikirim ke browser agar dapat ditampilkan. Program ini dapat berdiri sendiri ataupun disisipkan di antara kode-kode html sehingga dapat langsung ditampilkan bersama dengan kode-kode html tersebut. Program php dapat ditambahkan dengan mengapit program tersebut di antara tanda <? dan ?>. Tanda-tanda tersebut biasanya disebut tanda untuk escaping (kabur) dari kode html. File html yang telah dibubuhi program php harus diganti ekstensi-nya menjadi .php atau .php3.
PHP merupakan bahasa pemograman web yang bersifat server-side HTML=embedded scripting, di mana script-nya menyatu dengan HTML dan berada si server. Artinya adalah sintaks dan perintah-perintah yang kita berikan akan sepenuhnya dijalankan di server tetapi disertakan HTML biasa. PHP dikenal sebgai bahasa scripting yang menyatu dengan tag HTML, dieksekusi di server dan digunakan untuk membuat halaman web yang dinamis seperti ASP (active Server Pages) dan JSP (Java Server Pages).
PHP pertama kali dibuat oleh Rasmus Lerdroft, seorang programmer C. Semula PHP digunakannya untuk menghitung jumlah pengunjung di dalam webnya. Kemudian ia mengeluarkan Personal Home Page Tools versi 1.0 secara gratis. Versi ini pertama kali keluar pada tahun 1995. Isinya adalah sekumpulan script PERL yang dibuatnya untuk membuat halaman webnya menjadi dinamis. Kemudian pada tahun1996 ia mengeluarkan PHP versi 2.0 yang kemampuannya telah mampu mengakses database dan dapat terintegrasi dengan HTML.
Pada tahun 1998 tepatnya pada tanggal 6 Juni 1998 keluarlah PHP versi 3.0 yang dikeluarkan oleh Rasmus sendiri bersama kelompok pengembang softwarenya..
Versi teranyar yaitu PHP 4.0 keluar pada tanggal 22 Mei 2000 merupakan versi yang lebih lengkap lagi dibandingkan dengan versi sebelumnya. Perubahan yang paling mendasar pada PHP 4.0 adalah terintegrasinya Zend Engine yang dibuat oleh Zend Suraski dan Andi Gutmans yang merupakan penyempurnaan dari PHP3 scripting engine. Yang lainnya adalah build in HTTP session, tidak lagi menggunakan library tambahan seperti pada PHP3. Tujuan dari bahasa scripting ini adalah untuk membuat aplikasi-aplikasi yang dijalankan di atas teknologi web. Dalam hal ini, aplikasi pada umumnya akan memberikan hasil pada web browser, tetapi prosesnya secara keseluruhan dijalankan web server.
Kelebihan PHP
Ketika e-commerce semakin berkembang, situs-situs yang statispun semakin ditinggalkan Karena dianggap sudah tidak memenuhi keinginan pasar karena situs tersebut harus tetap dinamis selama setiap hari. Pada saat ini bahasa PERL dan CGI sudah jauh ketinggalan jaman sehingga sebagian besar designer
web banyak beralih ke bahasa server-side scripting yang lebih dinamis seperti PHP.
Seluruh aplikasi berbasis web dapat dibuat dengan PHP. Namun kekuatan yang paling utama PHP adalah pada konektivitasnya dengan system database di dalam web. Sistem database yang dapat didukung oleh PHP adalah :
- Oracle
- MySQL
- Sybase
- PostgreSQL
- dan lainnya
PHP dapat berjalan di berbagai system operasi seperti windows 98/NT, UNIX/LINUX, solaris maupun macintosh.
PHP merupakan software yang open source yang dapat anda download secara gratis dari situs resminya yaitu http://www.php.net, ataupun dari situs-situs yang menyediakan software tersebut seperti di ftp://gerbang.che.itb.ac.id.
Software ini juga dapat berjalan pada web server seperti PWS (Personal Web Server), Apache, IIS, AOLServer, fhttpd, phttpd dan sebagainya. PHP juga merupakan bahasa pemograman yang dapat kita kembangkan sendiri seperti menambah fungsi-fungsi baru.
Keunggulan lainnya dari PHP adalah PHP juga mendukung komunikasi dengan layanan seperti protocol IMAP, SNMP, NNTP, POP3 bahkan HTTP.
PHP dapat diinstal sebagai bagian atau modul dari apache web server atau sebagai CGI script yang mandiri. Banyak keuntungan yang dapat diperoleh jika menggunakan PHP sebagai modul dari apache di antaranya adalah :
- Tingkat keamanan yang cukup tinggi
- waktu eksekusi yang lebih cepat dibandingkan dengan bahasa pemograman web lainnya yang berorientasi pada server-side scripting.
- Akses ke system database yang lebih fleksibel. seperti MySQL.
Dalam modul ini kita akan mempelajari PHP sebagai server-side scripting yang menggunakan apache sebagai webserver. Versi PHP yang kita gunakan adalah PHP4 untuk windows.
INSTALASI WEBSERVER
Pendahuluan
Web server merupakan server internet yang mampu melayani koneksi transfer data dalam protocol HTTP. Web server merupakan hal yang terpenting dari server di internet dibandingkan server lainnya seperti e-mail server, ftp server ataupun news server. Hal ini di sebabkan web server telah dirancang untuk dapat melayani beragam jenis data, dari text sampai grafis 3 dimensi. Kemampuan ini telah menyebabkan berbagai institusi seperti universitas maupun perusahaan dapat menerima kehadirannya dan juga sekaligus menggunakannya sebagai sarana di internet.
Web server juga dapat menggabungkan dengan dunia mobile wireless internet atau yang sering di sebut sebagai WAP (wireless Access Protocol) yang banyak digunakan sebagai sarana handphone yang memiliki fitur WAP. Dalam kondisi ini, webserver tidak lagi melayani data file HTML tetapi telah melayani WML (wireless Markup Language)
Salah satu software yang biasa digunakan oleh banyak web master di dunia adalah apache. Software tersebut dapat kita download secara gratis dari web resmi apache yaitu http://www.apache.org. Apache merupakan software open source yang sekarang ini sudah merebut pasar dunia lebih dari 50%. Web server ini fleksibel terhadap berbagai system operasi seperti windows9x/NT ataupun unix/linux. Dalam penggunaanya.
Apache merupakan turunan dari webserver yang dikeluarkan oleh NCSA yaitu NCSA HTTPd pada sekitar tahun 1995.
Kelebihan web server Apache :
- Freeware (software gratisan)
- Mudah diinstall.
- Mampu beroperasi pada berbagai platform sistem operasi .
- Mudah mengonfigurasinya.
- Apache Web server mudah dalam menambahkan periferal lainnya ke dalam platform web servernya, misalnya : untuk menambahkan modul, cukup hanya menset file konfigurasinya agar mengikutsertakan modul itu kedalam kumpulan modul lain yang sudah dioperasikan.
- Dapat dijadikan pengganti bagi NCSA web server.
- Perbaikan terhadap kerusakan dan error pada NCSA 1.3 dan 1.4
- Merespon client ebih cepat daripada server NCSA.
- Mampu di kompilasi sesuai dengan spesifikasi HTTP yang sekarang.
- Menyediakan feature untuk multihomed dan virtual server.
- Kita dapat men-set respon error yang akan dikirim web server dengan menggunakan file atau skrip.
- Secara otomatis menjalankan file index.html, halaman utamanya, untuk ditampilkan secara otomatis pada clientnya.
- Lebih aman karena memiliki level-level pengamanan
- Apache mempunyai komponen dasar terbanyak di antara webserver-webserver lain, yang berarti bahwa webserver Apache termasuk salah satu dari webserver yang lengkap.
- Performansi dan konsumsi sumberdaya (resource) dari webserver apache tidak terlalu banyak, hanya seandar 20 MB untuk file-file dasarnya dan setiap daemonnya hanya memerlukan seandar 950 KB memory per-child.
- Mendukung transaksi yang aman (secure transaction) menggunakan SSL (Secure Socket Layer).
- Mempunyai dukungan teknis melalui web.
- Mempunyai kompatibilitas platform yang tinggi.
- Mendukung third party berupa modul-modul tambahan.
Instalasi
Setelah kita berhasil mendownload dan apache tersebut, maka kita dapat menginstalnya seperti biasa. Apache yang kita gunakan pada modul ini adalah apache_1_3_12_win32. Software ini bentuknya application, sehingga kita bisa langsung menginstalnya seperti software lainnya.
Setelah kita berhasil menginstalnya, jika kita tidak melakukan perubahan directory ketika menginstalnya maka software tersebut akan otomatis tersimpan di directory “c:\program files\Apache Group”.
Agar apache dapat berjalan dengan baik dan benar, maka kita harus mengedit suatu file yang berfungsi mengkoordinir dan menghubungkan antara webserver dengan modul PHP yang telah ada. File tersebut adalah “httpd.conf”. File tersebut berada di folder “c:\program files\Apache Group\Apache\conf\httpd.conf”.
Isi file tersebut dan apasaja yang harus di edit agar apache kita dapat menjadi sebuah web server yang benar akan di jelaskan di bawah ini :
ServerType <standalone|inetd>
Disini anda menentukan apakah akan mejalankan Apache sebagai http daemon sendiri atau lewat inetd. Pilihan inetd hanya untuk apache berbasis Unix. Defaultnya adalah standalone, dengan pilihan ini apache dapat memberikan performanya secara maksimal. Bila ingin diubah menjadi inetd maka tinggal mengganti baris standalone menjadi inetd.
ServerRoot “C:/Program Files/Apache Group/Apache”
Perintah ini menentukan letak direktori yang berisi semua file-file konfigurasi maupun file binari (eksekusi) apache. Defaultnya akan menyesuaikan pada saat konfigurasi.
LockFile logs/httpd.lock
Directory untuk lock file. Defaultnya ia akan bertanda pagar (tidak diaktifkan).
PidFile logs/httpd.pid
File yang digunakan server untuk meyimpan nomor identifikasi proses (pid) saat apache dijalankan dan aktif jika menggunakan server type standalone
ScoreBoardFile logs/httpd.scoreboard
File yang digunakan untuk menyimpan informasi internal dari proses server seperti komunikasi antar child dan parent process yang mungkin dibutuhkan oleh beberapa arsitektur computer.
ResourceConfig conf/srm.conf
AccesConfig conf/acces.conf
Pilihan untuk membaca file srm.conf dan access.conf secara berurutan. Apache secara default telah memproses kedua file secara berurutan sehingga dapat anda biarkan keduanya ditandai pagar.
Timeout 300
Jumlah waktu (dalam detik) yang diberikan server untuk menunggu klien saat mengakses server.
KeepAlive On
Berlaku untuk server standalone untuk menetukan apakah server memperbolehkan lebih dari satu permintaan dalam satu koneksi. Untuk non-aktif isikan Off.
MaxKeepAliveRequest 100
Berlaku untuk server standalone. Menentukan jumlah maksimum permintaan dalam satu koneksi yang bersamaan. Set 0 jika tidak dibatasi.
KeepAliveTimeOut 20
Berlaku untuk server standalone yaitu jumlah waktu (dalam detik) untuk menunggu permintaan berikutnya dari klien yang sama dan koneksi yang bersamaan.
MinSpareServer 5
MaxSpareServer 10
Berlaku untuk server standalone dan digunakan untuk menentukan minimum atau maksimum spare (idle) yang digunakan saat koneksi dilakukan.
StartServer 6
Berlaku untuk server standalone yang menentukan jumlah server yang berjalan ditandai saat diaktifkan (ditandai dengan jumlah PID).
MaxClients 100
Berlaku untuk server standalone yang menentukan jumlah maksimal klien yang dapat mengakses secara simultan.
MaxRequestPerChild 40
Jumlah permintaan maksimal untuk mempergunakan childprocess. Bila diset 0 maka childprocess akan akan berlangsung terus dan tidak akan mati.
Listen 12.34.56.78:80
Setting server untuk melayani port dan atau alamat IP .Hal ini sangat berguna jika anda memakai satu mesin yang punya beberapa nomor IP dan atau nama DNS samaran.
BindAddress *
Dukungan virtual hosts dengan memerintahkan apache untuk mengikat beberapa alamat. Bisa diisi dengan *, alamat IP atau nama domain internet yang memenuhi syarat.
Port 80
Port yang digunakan oleh server. Standarnya memakai port 80.
User nobody
Group nobody
Nama user dan group yang menjalankan httpd. Defaultnya adalah user nobody dan group nobody.
ServerAdmin firdaus@tpb.itb.ac.id
Alamat email untuk mengirimkan/memberitahu halaman yang dibuat secara otomatis oleh server. Misalnya untuk mengirim pesan error.
ServerName www.firdausadnan.com
Untuk setting nama server anda. dengan menggunakan standar fqdn (fully quailified domain name) dan harus merupakan nama yang ada dalam DNS (Domain Name Service) jaringan anda. Jika tidak yakin isikan nomor IP.
DocumentRoot "C:\wwwroot\html"
Perintah untuk setting lokasi direktori web yang akan diterbitkan sebagai webpage.
UserDir public_html
Menyatakan letak direktori homepage bagi masing-masing user pada sistem Unix tempat Webserver anda di install. Jika perintah ini diset, maka tiap user tinggal membuat direktori public_html didirektori homenya.
AccessFileName .htaccess
Digunakan untuk untuk menentukan nama file untuk keperluan control akses direktori.
UseCanonicalName Off
Digunakan untuk menentukan apakah server akan menggunakan self-referencing URL address atau tidak. Beberapa klien yang mengakses server memerlukannya namun kebanyakan tidak memerlukan sama sekali. Sebaiknya di-offkan saja.
DefaultType text/plain
Diguanakn untuk menentukan tipe content default apabila server gagal menentukan tipe MIME tertentu.
HostnameLookups Off
Digunakan untuk menentukan apakah DNS akan selalu dilihat apabila klien mengakses server.
ErrorLog logs/error_log
Digunakan untuk menetukan nama file yang digunakan untuk mencatat semua error yang terjadi selama operasional.
LogLevel warn
Digunakan untuk menentukan level log yang akan dismpan pada file yang telah ditentukan oelh ErrorLog. Optionnya cukup banyak <emerg|alert|crit|errors|warn|debug>. Semakin tinggi level yang ditentukan semakin banyak pesan yang dapat dibaca pada file log, hanya saja kerja server akan menurun.
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combine
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
Digunakan untuk mendefinisikan format yang akan digunakan oleh log file. Defaultnya seperti sintak di atas.
Berikut dijelaskan sedikit mengenai formatnya :
o %h = remot host
o %l = remote Logname
o %u = remote user
o %t = Time
o %r = First Line Of Request.
o %s = Status. Menunjukkan status terakhir dari request.
o %b = Jumlah Byte yang dikirim client, dalam format CLF (“-“ bila tidak ada byte yang dikirim).
o %{Referer}I = Isi dari Tag Referer pada Header
o %{User-Agent}I = Isi dari Tag User-Agent pada Header.
o %U = URL yang diminta (direquest)
o combined, common, referer dan agent yang tertulis pada bagian belakang directive adalah nickname untuk memudahkan proses pemanggilan oleh directive CustomLog.
Alias /icons/ "C:/Program Files/Apache Group/Apache/icons/"
Digunakan untuk menentukan alias dari suatu direktori. Misalnya direktori "C:/Program Files/Apache Group/Apache/icons/"
hanya menjadi /icons/ saja.
IndexOptions FancyIndexing
Digunakan untuk menentukan letak direktori index yang akan mengelompokkan file-file tertentu yang sejenis.
AddIcon /icons/tar.gif .tar
Digunakan menentukan nama icon serta extensionnya. Sintaknya :
AddIcon <icon-name> <extension>
AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip
Digunakan untuk menentukan nama icon untuk keperluan MIME_Encoding. Sintaknya :
AddIconByEncoding <icon> <MIME-type>
AddIconByType (TXT,/icons/text.gif) text/*
Digunakan untuk menentukan nama icon untuk keperluan FancyIndexing.
ReadmeName README
HeaderName HEADER
Digunakan untuk menentukan file yang berfungsi sebagai footer dan header.
AddEncoding x-compress Z
AddEncoding x-gzip gz tgz
Digunakan untuk keperluan MIME encoding. Sebaiknya dibiarkan apa adanya.
AddLanguage en .en
AddLanguage et .ee
AddLanguage fr .fr
Digunakan untuk menentukan language-MIME encoding dengan file extension yang digunakan.
AddType <content-type> <extension>
Digunakan untuk menambahkan module-module yang digunakan dalam server apache. Misalnya untuk mengaktifkan (meload) modul php maka ditambahkan :
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
LoadModule php4_module c:/php/sapi/php4apache.dll
AddType application/x-httpd-php .php4
ScriptAlias /php4/ "C:/php/"
Action application/x-httpd-php4 "/php4/php.exe"
AddType application/x-httpd-php4 .php .php3 .phtml
AddType application/x-tar .tgz
0 komentar:
Posting Komentar