PHP (singkatan dari PHP: Hypertext
Preprocessor) adalah salah satu bahasa pemrograman web yang paling populer
digunakan. Pada saat ini pengguna PHP mencapai sekitar 7 juta domain meliputi
sekitar 1 juta IP address.
Berbeda dari kebanyakan penyedia layanan web hosting lainnya, PHP pada indoglobal.com kami konfigurasikan dengan tujuan supaya lebih fleksibel dengan menghindari kelemahan-kelemahan keamanan pada PHP.
Pada sistem kami, PHP kami install secara modular, dengan komponen-komponennya dipisahkan dari intinya. Hal ini kami lakukan untuk meningkatkan kapabilitas PHP pada server-server kami dan meminimalkan penggunaan sumber daya memori.
Modul-modul PHP yang kami install pada server kami adalah:
| Module | Description |
|---|---|
| bcmath | BCMath arbitrary precision mathematics module |
| bz2 | Bzip2 compression module |
| calendar | Calendar module |
| ctype | Character type module |
| curl | Client URL library module |
| dba | Hash file (DBM or similar) abstraction layer module |
| dbase | dBase module |
| dbx | Database abstraction layer module |
| dio | Direct I/O Module |
| domxml | Document object model (DOM) module |
| exif | EXIF JPEG header module |
| filepro | Filepro database module |
| fribidi | Bidirectional text module |
| ftp | FTP module |
| gd | Image generation module |
| gettext | Native language support and internationalization module |
| gmp | GNU MP library for arbitrary precision arithmetic |
| iconv | Character set conversion module using IConv |
| imap | IMAP, POP3 and NNTP module |
| interbase | Interbase database module |
| ldap | LDAP client module |
| mcrypt | MCrypt encryption module |
| mhash | MHash hashing algorithm module |
| mime_magic | MIME type detection module |
| ming | Shockwave flash creation module using ming library |
| mnogosearch | MnogoSearch search engine module |
| mysql | MySQL database client module |
| ncurses | Ncurses terminal screen control module |
| odbc | UNIX ODBC module |
| overload | Object property and method call overloading module |
| pcntl | Process control functions module |
| pgsql | PostgreSQL database client module |
| posix | Module for accessing POSIX system interface |
| pspell | PSpell spell checking module |
| recode | Character sets encoding conversion using GNU Recode |
| shmop | Shared memory module using SHMOP |
| snmp | SNMP client module |
| sockets | Low level sockets module |
| swf | Shockwave Flash module using libswf library |
| sybase | Sybase database client module |
| sysvmsg | System V messages module |
| sysvsem | System V semaphore module |
| sysvshm | System V shared memory module |
| tokenizer | Tokenizer module |
| wddx | Web Distributed Data Exchange (WDDX) module |
| xmlrpc | XMLRPC and SOAP module |
| xslt | XSLT processor module |
| yaz | YAZ module |
| yp | YP module |
| zip | ZIP files read access module |
| zlib | Zlib compression module |
Sedangkan modul-modul yang selalu termuat pada PHP karena alasan teknis adalah:
| Module | Description |
|---|---|
| openssl | OpenSSL for SSL related cryptographic functions |
| pcre | Perl compatible regular expression library |
| session | HTTP session support |
| wddx | Web Distributed Data Exchange module |
| xml | Extensible Markup Language (XML) parser module |
Terkadang dibutuhkan module PHP yang tidak terdapat pada daftar kami di atas (misalnya: module PHP dari pihak ketiga), atau anda memrogram module PHP anda sendiri. Pada kasus-kasus tersebut anda dapat menginstall module PHP yang anda butuhkan.
Segala sesuatu mengenai konfigurasi PHP dapat dilakukan pada SiteManager dengan menggunakan antarmuka yang intuitif dan mudah digunakan.
Anda dapat melakukan konfigurasi PHP untuk account anda secara global, dan untuk setiap subdomain anda. Subdomain-subdomain anda bisa memiliki konfigurasi masing-masing jika anda menginginkannya. Misalnya anda menginginkan pada subdomain 1 diinstall dukungan MySQL dan PCRE, namun pada subdomain 2 diinstall dukungan PostgreSQL dan GD.
Selain konfigurasi modul yang diinstall, anda juga dapat mengubah setting-setting PHP yang lainnya seperti penggunaan tag ASP, penanganan kondisi error dan lain-lain. Hampir semua setting yang biasanya harus diedit secara manual pada file php.ini kini dapat anda edit dengan mudah melalui SiteManager.
Sistem kami juga mendukung PEAR, apapun module PEAR yang anda perlukan dapat anda install dengan mudah melalui SiteManager. Termasuk di antaranya adalah module PECL. Dari SiteManager anda juga dapat menghapus instalasi module PEAR yang telah terinstall sebelumnya dan melihat informasi mengenai module PEAR. Anda juga dapat menggunakan antarmuka command line standard jika anda menginginkannya, seluruhnya telah kami set untuk anda.
Konfigurasi PHP pada lingkungan web hosting sudah biasa menjadi masalah. Hampir semua perusahaan web hosting mengkonfigurasikan PHP dalam bentuk module Apache. Konfigurasi ini memiliki masalah tergantung dari apakah safe mode dinyalakan atau tidak.
<? passthru("cat /home/otheruser/file");
?> akan dapat digunakan untuk melihat isi dari file-file milik
pengguna lain, termasuk yang bersifat sensitif misalnya yang mengandung
password database, nomor kartu kredit atau informasi lainnya.indoglobal.com menggunakan konfigurasi lain. Kami menggunakan versi CGI dari PHP, dan bukan Apache module. Dengan cara ini, pelanggan-pelanggan kami dapat menggunakan PHP dengan aman dan seluruh program PHP akan berfungsi tanpa bermasalah. Dalam sebagian besar kasus anda bahkan tidak akan menyadari bahwa PHP dijalankan dalam mode CGI.
indoglobal.com adalah salah satu perusahaan web hosting pertama yang menyadari akan isu ini. Semenjak kami berdiri (tahun 1997, sebelum PHP 3 dirilis) kami telah nencoba berbagai macam konfigurasi PHP untuk mencari cara terbaik menjalankan PHP pada lingkungan shared hosting tanpa mengorbankan keamanan pengguna serta fasilitas dari PHP. Dari bertahun-tahun pengalaman kami, kami yakin bahwa konfigurasi ini merupakan cara terbaik untuk menjalankan PHP pada sistem shared hosting.