BAB III Konfigurasi

File konfigurasi


File konfigurasi (dinamakan php3.ini di PHP 3.0, dan hanya php.ini setelah PHP 4.0) dibaca ketika PHP mulai bekerja. Untuk PHP yang versi server module, hal ini hanya terjadi sekali pada saat web server dijalankan. Sedangkan untuk PHP yang versi CGI terjadi setiap kali PHP dipanggil. Jika PHP digunakan sebagai modul di Apache, anda juga dapat mengubah setting konfigurasi menggunakan menggunakan direktif di file konfigurasi Apache dan file-file .htaccess.

Dengan PHP 3.0, ada direktif-direktif Apache yang namanya berhubungan dengan masing-masing setting konfigurasi di php3.ini, kecuali nama tersebut diawali dengan "php3_".
Dengan PHP 4.0, hanya ada sedikit direktif Apache yang mengijinkan dana untuk mengubah setting konfigurasi PHP.


php_value nama nilai

Memberikan nilai tertentu kepada variabel yang ditunjuk.


php_flag nama on|off

Digunakan untuk mengeset pilihan konfigurasi Boolean.


php_admin_value nama nilai

Memberikan nilai tertentu kepada variabel yang ditunjuk..Setting konfigurasi "Admin" hanya dapat diset dari dalam file konfigurasi Apache utama, dan tidak dari file-file .htaccess.


php_admin_flag nama on|off

Digunakan untuk mengeset pilihan konfigurasi Boolean.


dana dapat melihat nilai-nilai setting konfigurasi dengan fungsi phpinfo(). dana juga dapat mengambil nilai dari masing masing setting konfigurasi dengan fungsi get_cfg_var().


Direktif konfigurasi umum


asp_tags boolean

Memungkinkan penggunaan tag ASP <% %> disamping tag yang biasa <?php ?>. Termasuk didalamnya jalan pintas pencetakan nilai variabel dengan <%= $value %>. Untuk informasi lebih lanjut, lihat bab tentang Pemisahan dari HTML .
Catatan: Dukungan untuk tag ASPditambahkan sejak versi 3.0.4.

auto_append_file string

Menunjukkan nama dari file yang secara otomatis akan dibaca setelah file utama. File dimasukkan seolah-olah dipanggil dengan menggunakan fungsi include(), jadi include_path digunakan di sini.
Nilai none akan mendisable auto-append.
Catatan: Jika script diakhiri dengan exit(), auto-append tidak dilakukan.

auto_prepend_file string

Menunjukkan nama dari file yang secara otomatis akan dibaca sebelum file utama. File dimasukkan seolah-olah dipanggil dengan menggunakan fungsi include(), jadi include_path digunakan di sini.
Nilai none akan mendisable auto-append.

display_errors boolean

Menentukan apakah error yang timbul perlu ditampilkan ke layar sebagai bagian dari output HTML atau tidak.


doc_root string

"Root directory" PHP di server. Hanya digunakan jika ada isinya. Jika PHP dikonfigurasi dengan mode aman (safe mode) maka file-file di luar direktori ini tidak akan dilayani.

engine boolean

Direktif ini hanya digunakan pada PHP versi modul di Apache. Dipakai oleh situs-situs yang ingin menghidupkan dan mematikan PHP per direktori atau per-virtual server. Dengan memberi nilai off pada php3_engine di tempat yang tepat pada file httpd.conf, PHP dapat di enable or disable.

error_log string

Nama file dimana pesan kesalahan dari script akan disimpan. Jika digunakan nilai khusus syslog, pesan kesalahan akan diberikan ke pencatat system (system logger). Di UNIX, berarti syslog(3) dan di Windows NT berarti event log. Windows 95 tidak memiliki pencatat system.


error_reporting integer

Mengatur tingkat pelaporan kesalahan. Parameternya adalah suatu integer yang menunjukkan nilai bit. Tambahkan angka-angka tersebut untuk mendapatkan tingkat yang diinginkan.
Tabel 3-1. Tingkat Pelaporan Kesalahan.

Nilai Bit Pelaporan yang aktif
1 kesalahan normal
2 peringatan normal
4 kesalahan parser
8 peringatan tidak kritis yang berkaitan dengan style

Nilai default untuk direktif ini adalah 7 (kesalahan normal, peringatan normal dan kesalahan parser akan dimunculkan).

open_basedir string

Membatasi file-file yang dapat dibuka dengan PHP ke suatu pohon direktori tertentu. Ketika suatu scriptmencoba utntuk membuka sebuah file, misalnya fopen atau gzopen, maka lokasi dari file akan diperiksa. Jika filenya berada di luar pohon direktori yang ditunjukkan maka PHP menolak untuk membukanya. Semua symbolic links akan diterjemahkan, jadi tidak memungkinkan untuk menghindari batasan ini dengan symlink. Nilai khusus . menunjukkan bahwa direktori tempat script disimpan akan digunakan sebagai base-directory. Dalam Windows, penyebutan direktori-direktori dipisahkan dengan titik-koma (;}. Pada sistem yang lain, gunakan tanda titik dua (:). Jika PHP dijalankan sebagai module Apache, path untuk open_basedir dari direktori parent secara otomatis akan diturunkan.

Catatan: Dukungan untuk banyak direktori ditambahkan di 3.0.7. Defaultnya adalah mengijinkan semua file dibuka.

gpc_order string

Mengatur urutan pembacaan variabel dari GET/POST/COOKIE. Setting default untuk direktif ini adalah "GPC". Misalnya jika diset ke "GP"akan menyebabkan PHP mengabaikan variabel cookie dan mengganti variabel yang didapat dari GET dengan variabel yang didapat dari POST jika namanya sama.

ignore_user_abort string

Nilai defaultnya adalah On. Jika diubah ke Off script akan berhenti begitu selesai mengeluarkan sesuatu setelah client memutuskan hubungannya.

include_path string

Menunjukkan daftar direktori dimana fungsi require(), include() dan fopen_with_path() akan mencari file. Formatnya sama dengan format variabel PATH pada system : suatu daftar direktori yang dipisahkan titik-dua (:) pada UNIX dan titik-koma (;) pada Windows.


Contoh: include_path pada UNIX
1
2 include_path=.:/home/httpd/php-lib
3

Contoh: include_path pada WIndows
1
2 include_path=".;c:\www\phplib"
3


Nilai default untuk direktif ini adalah . (hanya direktori sekarang).

log_errors boolean

Memberitahukan apakah pesan-pesan kesalahan dari script harus dicatat ke catatan kesalahan server. Option ini tergantung pada jenis server.

magic_quotes_gpc boolean

Mengatur status magic_quotes untuk operasi GPC (Get/Post/Cookie) operations. Jika magic_quotes dalam keadaan on, semua ' (tanda kutip tunggal), " (tanda kutip ganda), \ (backslash) dan NUL akan didahului dengan backslash secara otomatis. Jika magic_quotes_sybase juga on, tanda kutip tunggal akan didahului dengan kutip tunggal alih-alih backslash.

magic_quotes_runtime boolean

Jika magic_quotes_runtime on, kebanyakan fungsi-fungsi yang menghasilkan data dari sumber luar termasuk basis data dan file-file text akan tanda kutipnya akan didahului dengan backslash. Jika magic_quotes_sybase juga on, tanda kutip tunggal akan didahului dengan kutip tunggal alih-alih backslash.

magic_quotes_sybase boolean

Jika magic_quotes_sybase juga on, tanda kutip tunggal akan didahului dengan kutip tunggal alih-alih backslash kalau magic_quotes_gpc atau magic_quotes_runtime dalam keadaan aktif (on).

max_execution_time integer

Mengatur waktu maksimum pelaksanaan script dalam detik script. Bermanfaat untuk mencegah agar script yang jelek tidak membebani server.

memory_limit integer

Mengatur jumlah maksimum memory dalam bytes yang boleh digunakan script. Bermanfaat untuk mencegah agar script yang jelek tidak membebani server.

short_open_tag boolean

Memberitahukan apakah tag PHP bentuk pendek (<? ?>) boleh digunakan. Jika anda ingin menggunakan PHP in dengan kombinasi XML, option ini harus di disable (off). Dalam hal demikian, anda harus menggunakan bentuk panjang (<?php ?>).

track_errors boolean

Jika On, pesan kesalahan terakhir akan selalu tersimpan di variabel global variable $php_errormsg.

track_vars boolean

Jika On maka input dari GET, POST dan cookie dapat ditemukan di array asosoatif global dengan nama masing-masing adalah $HTTP_GET_VARS, $HTTP_POST_VARS dan $HTTP_COOKIE_VARS.

upload_tmp_dir string

Direktori sementara yang digunakan untuk menyimpan file-file ketika melakukan upload file. Harus bisa ditulisi oleh siapapun yang menjalankan PHP.

user_dir string

Nama direktori dasar uang digunakan pada home direktori user untuk file-file PHP, misalnya public_html.

warn_plus_overloading boolean

Jika On, option ini akan membuat PHP mengeluarkan peringatan jika operator tambah (+) digunakan untuk string.
Ini untuk memudahkan script-script yang membutuhkan penulisah ulang dengan penyambung string (.).

 

Direktif Konfigurasi Mail

SMTP string

Nama DNSatau alamat IP server SMTP yang hrus digunakan PHP di Windows untuk mengirimkan mail dengan fungsi mail().

sendmail_from string

Alamat "From:" yang harus digunakan pada saat mengirim mail dari PHP di Windows.

sendmail_path string

Tempat dimana program sendmail dapat ditemukan, biasanya bertempat di /usr/sbin/sendmail atau /usr/lib/sendmail, tetapi jika bukan anda bisa mengaturnya di sini.

Sistem yang tidak memakai sendmail harus mengatur direktif ini untuk menggantikan sendmail sesuai dengan yang tersedia jika ada. Misalnya, pemakai Qmail (http://www.qmail.org/) dapat mengaturnya menjadi /var/qmail/bin/sendmail.

Direktif Konfigurasi Mode Aman

safe_mode boolean

Untuk mengatur apakah mode aman PHP aktif atau tidak. Untuk informasi lebih lanjut baca bab tentang kemanan.

safe_mode_exec_dir string

Jika PHP dijalankan dalam mode aman, system() dan fungsi-fungsi lain yang menjalankan program sistem akan menolak untuk menjalankan program selain yang disimpan di direktori ini.

Direktif Konfigurasi Debugger

debugger.host string

Nama DNS atau alamat IP dari host yang digunakan oleh debuggger.

debugger.port string

Nomor Port yang digunakan oleh debuggger.

debugger.enabled boolean

Mengatur apakah debugger diaktifkan atau tidak.

 

Direktif Pemanggilan Extension

enable_dl boolean

Direktif ini hanya dipakai jika PHP dijalankan sebagai modul di Apache. Anda dapat menghidupkan dan mematikan pemanggilan extension PHP secara dinamis (dynamic loading ) dengan dl() untuk suatu virtual server atau direktori tertentu.

Alasan utama untuk mematikan pemanggilan extension secara dinamis (dynamic loading) adalah masalah keamanan. Dengan dynamic loading, dimungkinkan untuk mengabaikan semua batasan safe_mode and open_basedir.

Setting defaultnya adalah mengijinkan dynamic loading, kecuali ketika dalam mode aman (safe-mode). Dalam mode aman, tidak dimungkinkan menggunakan dl().

extension_dir string

Direktori tempat PHP harus mencari extension-extension yang dipanggil secara dinamis.

extension string

Menunjukkan extension dinamis mana yang mesti dipanggil ketika PHP dijalankan.

 

Direktif konfigurasi MySQL

mysql.allow_persistent boolean

Mengatur apakah diijinkan menggunakan hubungan persisten ke MySQL.

mysql.default_host string

Nama server host default yang akan digunakan pada saat berhubungan ke basis data jika tidak disebutkan nama server host secara khusus.

mysql.default_user string

Nama user default yang akan digunakan pada saat berhubungan ke basis data jika tidak disebutkan nama user secara khusus.

mysql.default_password string

Password default yang akan digunakan pada saat berhubungan ke basis data jika tidak disebutkan password secara khusus.

mysql.max_persistent integer

Jumlah maksimum hubungan persisten MySQL dalam satu process.

mysql.max_links integer

Jumlah maksimum hubungan MySQL dalam satu process, termasuk hubungan persisten.

 

Direktif Konfigurasi mSQL

msql.allow_persistent boolean

Mengatur apakah diijinkan menggunakan hubungan persisten ke mSQL.

msql.max_persistent integer

Jumlah maksimum hubungan persisten mSQL dalam satu process.

msql.max_links integer

Jumlah maksimum hubungan mSQL dalam satu process, termasuk hubungan persisten.


Direktif Konfigurasi Postgres

pgsql.allow_persistent boolean

Mengatur apakah diijinkan menggunakan hubungan persisten ke Postgres.

pgsql.max_persistent integer

Jumlah maksimum hubungan persisten Postgres dalam satu process.

pgsql.max_links integer

Jumlah maksimum hubungan Postgres dalam satu process, termasuk hubungan persisten.

 

Direktif Konfigurasi Sybase

sybase.allow_persistent boolean

Mengatur apakah diijinkan menggunakan hubungan persisten ke Sybase.

sybase.max_persistent integer

Jumlah maksimum hubungan persisten Sybase dalam satu process.

sybase.max_links integer

Jumlah maksimum hubungan Sybase dalam satu process, termasuk hubungan persisten.

 

Direktif Konfigurasi Sybase-CT

sybct.allow_persistent boolean

Mengatur apakah diijinkan menggunakan hubungan persisten ke Sybase-CT. Defaultnya adalah on.

sybct.max_persistent integer

Jumlah maksimum hubungan persisten Sybase-CT dalam satu process.

sybct.max_links integer

Jumlah maksimum hubungan Sybase-CT dalam satu process, termasuk hubungan persisten. Defaultnya adalah -1 yang berarti tak terhingga

sybct.min_server_severity integer

Pesan-pesan dari server dengan tingkat kepentingan (severity) lebih dari atau sama dengan sybct.min_server_severity akan dilaporkan sebagai peringatan. Nilai ini dapat juga diset dari script dengan memanggil fungsi sybase_min_server_severity(). Defaultnya adalah 10 yang berarti melaporkan kesalahan-kesalahan sampai tingkat informasi atau lebih.

sybct.min_client_severity integer

Pesan-pesan dari library client dengan tingkat kepentingan (severity) lebih dari atau sama dengan sybct.min_server_severity akan dilaporkan sebagai peringatan. Nilai ini dapat juga diset dari script dengan memanggil fungsi sybase_min_client_severity(). Defaultnya adalah 10 yang berarti mematikan pelaporan.

sybct.login_timeout integer

Waktu maksimum dalam detik untuk menunggu hasil koneksi sebelum dianggap sebagai kegagalan. Harap dicatat jika max_execution_time sudah terlampaui sedangkan usaha untuk menghubungkan diri masih berlangsung maka script anda akan berhenti sebelum dapat melakukan tindakan untuk menangani kegagalan. Defaultnya adalah satu menit

sybct.timeout integer

Waktu maksimum dalam detik untuk menunggu hasil operasi select_db atau query sebelum dianggap sebagai kegagalan. Harap dicatat bahwa jika max_execution_time sudah terlampaui sedangkan operasi tersebut masih berlangsung, maka script anda akan berhenti sebelum dapat melakukan tindakan untuk menangani kegagalan. Defaultnya adalah tidak ada batas waktu.

sybct.hostname string

Nama default host yang akan anda pakai untuk mengadakan hubungan, untuk ditampilkan oleh sp_who. Defaultnya adalah tidak ada.


Direktif Konfigurasi Informix


ifx.allow_persistent boolean

Mengatur apakah diijinkan menggunakan hubungan persisten ke Informix.

ifx.max_persistent integer

Jumlah maksimum hubungan persisten Informix dalam satu process.

ifx.max_links integer

Jumlah maksimum hubungan Informix dalam satu process, termasuk hubungan persisten.

ifx.default_host string

Nama default host yang akan dihubungi jika tidak ada nama host yang disebutkan dalam ifx_connect() atau ifx_pconnect().

ifx.default_user string

Nama user id default yang akan dipakai jika tidak ada nama yang disebutkan dalam ifx_connect() atau ifx_pconnect().

ifx.default_password string

Password default yang akan dipakai jika tidak ada password yang disebutkan dalam ifx_connect() atau ifx_pconnect().

ifx.blobinfile boolean

Berikan nilai true jika anda ingin menyimpan kolom blob di sebuah file, false jika anda ingin menyimpannya di memori. Anda bisa mengganti setting ini pada saat script dijalankan dengan ifx_blobinfile_mode().

ifx.textasvarchar boolean

Berikan nilai true jika anda ingin menyimpan kolom TEXT sebagai string biasa pada statemen select, false jika anda ingin menggunakan parameter id blob. Anda bisa mengganti setting ini pada saat script dijalankan dengan ifx_textasvarchar().

ifx.byteasvarchar boolean

Berikan nilai true jika anda ingin menyimpan kolom BYTE sebagai string biasa pada in select queries, false if you want to use blob id parameters. Anda bisa mengganti setting ini pada saat script dijalankan dengan ifx_textasvarchar().

ifx.charasvarchar boolean

Berikan nilai true jika anda ingin menghapus spasi-spasi kosong dibelakang kolom CHAR ketika diambil.

ifx.nullformat boolean

Berikan nilai true jika anda ingin mengambil kolom NULL sebagai string literal "NULL", false jika anda ingin mengambilnya sebagai string kosong "". Anda bisa mengganti setting ini pada saat script dijalankan dengan ifx_nullformat().

 

Direktif Konfigurasi BC Math

bcmath.scale integer

Jumlah digit desimal untuk semua fungsi-fungsi bcmath.

Direktif Konfigurasi Browser Capability

browscap string

Nama file untuk setting browser capability. Lihat juga get_browser().

Direktif Konfigurasi ODBC

uodbc.default_db string

Sumber data ODBC yang akan digunakan jika tidak disebutkan secara khusus di odbc_connect() atau odbc_pconnect().

uodbc.default_user string

Nama user id default yang akan dipakai jika tidak ada nama yang disebutkan dalam odbc_connect() atau odbc_pconnect().

uodbc.default_pw string

Password default yang akan dipakai jika tidak ada password yang disebutkan dalam odbc_connect() or odbc_pconnect().

uodbc.allow_persistent boolean

Mengatur apakah diijinkan menggunakan hubungan persisten ke ODBC.

uodbc.max_persistent integer

Jumlah maksimum hubungan persisten ODBC dalam satu process.

uodbc.max_links integer

Jumlah maksimum hubungan ODBC dalam satu process, termasuk hubungan persisten.