Konfigürasyon dosyası (PHP 3.0 için php3.ini, PHP 4.0 için php.ini olarak adlandırılır), PHP başladığında okunur. PHP'nin sunucu modülleri için, bu işlem yalnızca web sunucusu okunduğunda gerçekleştirilir. CGI kurulumlar için, her yeni sayfa isteğinde okunur.
PHP, Apache modülü olarak kullanıldığında, konfigürasyon ayarları Apache konfigürasyon dosyasından ve .htaccess dosyalarının içinden de değiştirilebilir.
PHP 3.0'da, "php3_" öntakısına sahip olanlar dışında php3.ini içindeki bütün ayarların birer Apache direktif karşılığı bulunur.
PHP 4.0'da, PHP konfigürasyonunu Apache konfigürasyon dosyasından değiştirmenize izin veren bir dizi Apache direktifi bulunur.
Seçili değişkene değer atar.
Bu komut Boolean konfigürasyon ayarları için kullanılır.
Seçili değişkenin değerini değiştirir. "Admin" konfigürasyon ayarları ancak Apache konfigürasyon dosyası içersinden değiştirilebilir, .htaccess kullanılarak yapılamaz.
Bu komut Boolean konfigürasyon ayarları için kullanılır.
phpinfo() komutunun çıktısından konfigürasyon değerlerinin ayarlarını görebilirsiniz. Ayrıca get_cfg_var() fonksiyonunu kullanarak, bu değerlere tek tek erişebilirsiniz. get_cfg_var().
Bu seçenek URL-duyarlı fopen okuyucusunun URL'lere dosyaymış gibi erişebilmesini etkinleştirir. Öntanımlı okuyucular uzaktaki dosyalara erişim için ftp ya da http protokolünün kullanımını sağlarlar, zlib gibi uzantılar ek okuyucular da sağlayabilirler.
Not: Bu seçenek 4.0.3 sürümünün hemen ardından tanıtılmıştır. 4.0.3 ve ona kadar olan sürümler, bu seçeneği yalnızca derleme esnasında --disable-url-fopen-wrapper. komutunu vererek devre dışı bırakabilirler.
ASP-tipi <% %> etiketlerinin alışılmış <?php ?> etiketlerine ek olarak kullanılabilmesini sağlar. Bu değişken değeri hızlıca yazmak için kullanılan <%= $value %> kullanımını da içerir. Daha fazla bilgi için, HTML'den kaçış bölümünü okuyun.
Not: ASP-tipi etiket desteği 3.0.4 sürümünde eklenmiştir.
Ana dosyadan hemen sonra okunacak dosya ismini belirtir. Bu dosya include() fonksiyonu ile çağrılmış gibi çalıştırılır, bu nedenle include_path kullanılır.
Özel none değeri auto-appending işlemini devre dışı bırakır.
Not: Uygulama exit() ile sonlandırıldığında, auto-append işlemi gerçekleşmeyecektir.
Ana dosyadan hemen önce okunacak dosya ismini belirtir. Dosya include() fonksiyonu ile çağrılmış gibi çalıştırılır, bu nedenle include_path kullanılır.
Özel none değeri auto-prepending işlemini devre dışı bırakır.
Bu seçenek hataların ekrana HTML çıktısının bir parçası olarak yazdırılıp yazdırılmayacağını belirtir.
PHP'nin sunucudaki "kök klasör"üdür. Yalnızca dolu olduğunda kullanılır. PHP güvenli modda çalışıyorsa, bu klasörün dışındaki dosyalar çalıştırılamaz.
Bu direktif yalnızca PHP Apache modülü olarak kullanıldığında kullanışlıdır. PHP kullanımını klasör bazında ya da sanal sunucu bazında denetlemek isteyen siteler için uygundur. httpd.conf dosyasında uygun gerekli yere engine off yazılarak, PHP devre dışı bırakılabilir.
Uygulama hata çıktılarının saklanacağı dosya ismidir. Özel bir değer olan syslog kullanıldığında, hatalar sistem hata yöneticisine gönderilir. UNIX altında bu, syslog(3)'ün ve Windows NT altında event log'un kullanılacağı anlamına gelir. Sistem hata yöneticisi Windows 95 altında desteklenmemektedir.
Hata raporlama seviyesini belirler. Bu parametre bit alanını temsil eden bir tamsayıdır. Kullanmak istediğiniz hata raporlama seviyelerini toplayın.
Bu direktif için öntanımlı değer 7'dir (normal hatalar, normal uyarılar ve okuyucu hataları görüntülenir).Hata mesajlarındaki HTML etiketlerini kapatır.
PHP tarafından açılabilecek dosyaların bulunduğu dizin yapısını kısıtlar.
Bir uygulama bir dosyayı açmak istediğinde, örneğin fopen ya da gzopen ile, dosyanın yeri kontrol edilir. Dosya belirtilen dizin yapısının dışındaysa, PHP dosyayı açmayı reddeder. Bütün sembolik linkler çözülür, bu nedenle bu kısıtlamayı symlink kullanarak aşmak mümkün değildir.
Özel bir değer olan . çalıştırılan dosyanın bulunduğu klasörün temel klasör olarak kullanılacağını belirtir.
Windows altında, klasörleri noktalı virgülle ayırın. Diğer bütün sistemlerde, klasörleri virgül ile ayırın. open_basedir altındaki bütün klasörler otomatik olarak dizin listesine dahil edilmektedir.
Not: Çoklu klasör desteği 3.0.7'de eklenmiştir.
Öntanımlı değer bütün dosyaların açılmasına izin verir.
GET/POST/ÇEREZ değişkenlerinin işlenme sırasını belirler. Öntanımlı değer "GPC"dir. Bu değerin örneğin "GP" olarak ayarlanması, PHP'nin bütün çerezleri gözardı etmesi ve POST metodu ile gelip de GET metoduyla gelen değişkenlerden biriyle aynı isimde olan bütün değişkenlerin GET metodu değeriyle ezilmesine neden olur.
Bu seçenek PHP 4'te mevcut değildir. variables_order kullanın.
EGPCS (Ortam, GET, POST, Çerez, Sunucu) değişkenlerinin işlenme sırasını belirler. Öntanımlı değer "EGPCS"dir. Bu değerin "GP" olarak değiştirilmesi, PHP'nin ortam değişkenlerini, çerezleri ve sunucu değişkenleri tamamıyla gözardı etmesine ve aynı isimde olan bütün GET ve POST değişkenlerinden GET değişkenini POST değişkeni ile ezecektir.
Ayrıca bakın register_globals.
Öntanımlı olarak açıktır. Off olarak değiştirildiğinde, kullanıcının bağlantıyı koparması durumunda PHP'nin çalışması da durur. ignore_user_abort().
require(), include() ve fopen_with_path() fonksiyonlarının tarayacağı klasötleri belirler. Biçimi sistemdeki PATH ortam değişkeni gibidir: UNIX altında virgülle, Windows altında noktalı virgülle ayrılmış klasör isimleri.
Uygulama hata mesajlarının sunucu hata yöneticisinde saklanıp saklanmayacağını belirler. Bu seçenek sunucu-bağımlıdır.
GPC (Get/Post/Çerez) işlemleri için magic_quotes değerinin durumunu belirler. magic_quotes açık olduğunda, bütün ' (tek-tırnak), " (çift tırnak), \ (ters bölü) ve NUL değerlerinden bir ters bölü kullanılarak kaçılacaktır. magic_quotes_sybase açıksa, tek-tırnak işareti, tersbölü yerine ikinci bir tek tırnak ile kaçılacaktır.
magic_quotes_runtime etkinleştirildiğinde, veritabanı ya da metin dosyası gibi dış kaynaklardan veri döndüren bütün fonksiyonların döndürdükleri değerler ters bölü ile kaçılacaktır. magic_quotes_sybase değeri de açıksa, tek-tırnaklar, ikinci bir tek-tırnak ile kaçılacaktır.
magic_quotes_sybase değeri aktifse, magic_quotes_gpc ya da magic_quotes_runtime değerlerinin etkin olması durumunda tek-tırnaklar ters bölü yerine ikinci bir tek-tırnak kullanılarak kaçılacaktır.
Bu seçenek bir uygulamanın PHP tarafından sonlandırılmadan önce en çok kaç saniye çalışabileceğini belirler. Bu, kötü yazılmış uygulamaların sunucuyu çökertmesini önlemeye yardımcı olur. Öntanımlı değer 30 dur.
En fazla çalışma zamanı sistem çağrılarından etkilenmez (sleep() fonksiyonu gibi). Lütfen daha fazla bilgi için set_time_limit() fonksiyonuna gözatın.
Bir uygulamanın kullanabileceği en fazla hafıza miktarını belirler. Bu, kötü yazılmış uygulamaların bütün sistem hafızasını yiyip bitirmesini önlemeye yardımcı olur.
EGPCS (Ortam, GET, POST, Çerez, Sunucu) değişkenlerinin global değişken olarak kullanılıp kullanılamayacağını belirtir. Uygulamalarınızdaki değişkenlerin kullanıcı verilerinden etkilenmesini istemiyorsanız bu seçeneği kapatabilirsiniz. Bu seçenek en çok track_vars ile birlikte kullanıldığında anlamlı olur. Bu şekilde EGPCS değişkenlerine $HTTP_ENV_VARS, $HTTP_GET_VARS, $HTTP_POST_VARS, $HTTP_COOKIE_VARS, ve $HTTP_SERVER_VARS dizi-değişkenlerini kullanarak global boyuttan ulaşabilirsiniz.
Bunun çalışabilmesi için Apache ayar dosyanızdaki ilgili klasöre ait AllowOverride değerinin AllowOverride All olması gerektiğini unutmayın.
PHP moduna geçmek için kullanılan kısa şeklin (<? ?>) kullanımına izin verilip verilmeyeceğini belirtir. PHP'yi XML ile birlikte kullanmak istiyorsanız, bu seçeneği devre dışı bırakmalısınız. Devre dışı bırakıldığında, açılış etiketinin uzun hali kullanılmalıdır (<?php ?>).
Etkinleştirildiğinde, son verilen hata her zaman global boyuttaki $php_errormsg değişkenine atanır.
Etkinleştirildiğinde, Ortam, GET, POST, Çerez ve Sunucu değişkenlerine $HTTP_ENV_VARS, $HTTP_GET_VARS, $HTTP_POST_VARS, $HTTP_COOKIE_VARS, ve $HTTP_SERVER_VARS global dizi-değişkenlerinden ulaşılabilir.
PHP 4.0.3'ten itibaren, track_vars her zaman açıktır.
Upload yapılırken dosyaların saklanacağı geçici klasörü belirtir. PHP'nin çalıştığı kullanıcının bu klasöre yazma hakkı bulunmalıdır.
Upload edilecek dosyanın sahip olabileceği en büyük boyuttur. Değer byte cinsindendir.
Kullanıcıların PHP için kullandıkları ana klasörü belirtir. Örnek olarak public_html verilebilir.
Etkinleştirildiğinde, artı (+) operatörünün karakter dizilerinde kullanılması durumunda uyarı verir. Bu, karakter dizisi birleştiricisi olan (.) kullanılarak yeniden yazılması gereken uygulamaları bulmak için kullanışlıdır.
PHP'nin güvenli modunun etkinleştirilip etkinleştirilmeyeceğini belirler. Güvenlik ve Güvenli Mod bölümlerinden daha fazla bilgiye ulaşabilirsiniz.
PHP güvenli modda kullanıldığında, system() ve diğer sistem dosyalarını çalıştıran uygulamalar, belirtilen klasörün dışında olmaları durumunda çalıştırılmayacaktır.
Ayıklayıcı tarafından kullanılacak DNS ismini ya da IP adresini belirtir.
Ayıklayıcı tarafından kullanılacak port numarasını belirtir.
Ayıklayıcının etkinleştirilip etkinleştirilmeyeceğini belirtir.
Bu direktif sadece PHP Apache modülü olarak kullanıldığında anlam taşır. PHP uzantılarının dinamik olarak dl() ile yüklenmesini sanal sunucu ya da klasör bazında kısıtlayabilirsiniz.
Dinamik yüklemeyi kapatmanın ana gerekçesi güvenliktir. Dinamik yükleme ile, bütün safe_mode ve open_basedir kısıtlamalarının atlatılması mümkündür.
safe_mode haricinde öntanımlı işlem dinamik yüklemeye izin verilmesidir. Güvenli modda, dl() fonksiyonunu kullanmak her zaman imkansızdır.
PHP'nin dinamik olarak yükleyebileceği uzantıları nerede araması gerektiğini belirler.
PHP başladığında hangi dinamik olarak yüklenebilir uzantıların yükleneceğini belirtir.
MySQL sürekli bağlantısına izin verilip verilmeyeceğini belirtir.
Veritabanı sunucusuna bağlanırken başka bir sunucu adresi belirtilmemişse kullanılacak öntanımlı sunucu adresini belirtir.
Veritabanı sunucusuna bağlanırken başka bir kullanıcı ismi belirtilmemişse kullanılacak öntanımlı kullanıcı ismini belirtir.
Veritabanı sunucusuna bağlanırken başka bir parola belirtilmemişse kullanılacak öntanımlı parolayı belirtir.
Veritabanı sunucusuna bağlanırken başka bir TCP portu belirtilmemişse kullanılacak öntanımlı TCP portunu belirtir. Öntanımlı bir değer belirtilmemişse, port değeri MYSQL_TCP_PORT ortam değişkeninden, /etc/services içindeki mysql-tcp değerinden ya da derleme sırasındaki MYSQL_PORT değerinden aynı sıralamayla alınacaktır. Win32 altında yalnızca MYSQL_PORT sabiti kullanılır.
Veritabanı sunucusuna bağlanırken başka bir soket ismi belirtilmemişse kullanılacak öntanımlı soketi belirtir.
Process başına düşen en fazla sürekli MySQL bağlantısını belirtir.
Process başına düşen maksimum MySQL bağlantısını verir, sürekli bağlantılar dahildir.
mSQL sürekli bağlantılarına izip verilip verilmeyeceğini belirtir.
Process başına olabilecek maksimum sürekli mSQL bağlantı sayısını belirtir.
Process başına olabilecek maksimum mSQL bağlantı sayısını belirtir. Sürekli bağlantılar dahildir.
Postgres bağlantılarına izin verilip verilmeyeceğini belirtir.
Process başına olabilecek maksimum sürekli Postgres bağlantısını belirtir.
Process başına olabilecek maksimum Postgres bağlantı sayısını verir, sürekli bağlantılar dahildir.
Yüklenebilir SESAM sürücü modüllerini içeren BS2000 PLAM kütüphanesinin yerini belirtir. SESAM fonksiyonları için gereklidir. BS2000 PLAM kütüphanesi ACCESS=READ,SHARE=YES olarak ayarlanmalıdır çünkü Apache sunucusunun kullanıcısı tarafından okunması gereklidir.
SESAM uygulama konfigürasyon dosyasının ismidir. SESAM fonksiyonları için gereklidir. BS2000 dosyası Apache sunucusunun kullanıcısı tarafından okunabilir olmalıdır.
Uygulama konfigürasyon dosyası genel olarak aşağıdaki konfigürasyonu içerir (SESAM referans kılavuzunu inceleyin):
SESAM mesaj katalog dosyasının ismi. Birçok durumda, bu direktif gerekli değildir. Yalnızca SESAM mesaj dosyasının sistemdeki BS2000 mesaj dosya tablosuna yüklenmediği durumlarda bu direktif kullanılabilir.
Mesaj kataloğu ACCESS=READ,SHARE=YES olarak ayarlanmalıdır çünkü Apache sunucusunun kullanıcısı tarafından okunabilmelidir.
Sybase sürekli bağlantılarına izin verilip verilmeyeceğini belirtir.
Process başına olabilecek maksimum sürekli Sybase bağlantısını belirtir.
Process başına olabilecek maksimum Sybase bağlantı sayısını belirtir, sürekli bağlantılar buna dahildir.
Sürekli Sybase-CT bağlantılarına izin verilip verilmeyeceğini belirtir. Öntanımlı değer on dur.
Process başına olabilecek en fazla sürekli Sybase-CT bağlantı sayısını belirtir. Öntanımlı değer -1 sınırsız anlamına gelir.
Process başına olabilecek en fazla Sybase-CT bağlantısını belirtir, buna sürekli bağlantılar dahildir. Öntanımlı değer -1 sınırsız anlamına gelir.
sybct.min_server_severity değerine eşit ve daha yüksek olan sunucu mesajları uyarı olarak rapor edilecektir. Bu değer uygulama içinden sybase_min_server_severity() çağrılarak da ayarlanabilir. Öntanımlı değer 10'dur.
sybct.min_client_severity değerine eşit ve daha yüksek olan istemci kütüphane mesajları uyarı olarak rapor edilecektir. Bu değer uygulama içinden sybase_min_client_severity() kullanılarak ayarlanabilir. 10 değeri verimli bir şekilde raporlamayı devre dışı bırakır.
Bir bağlantı denemesi için başarısız değeri dönene kadar beklenecek saniye cinsinden en fazla süreyi belirtir. max_execution_time aşılmışsa, uygulamanız başarısız durumuna düşmeden zaman aşımına uğrar. Öntanımlı değer bir dakikadır.
Bir select_db ya da sorgu işleminin tamamlanması için beklenecek en fazla süreyi saniye cinsinden belirtir. İşlem tamamlanamazsa başarısız döndürülür. İşlem zaman aşımına uğradığında max_execution_time değeri aşılmışsa, uygulamanız başarısız değerini döndüremeden sonlanacaktır. Öntanımlı değer sınırsızdır.
sp_who tarafından görüntülenecek bağlantı kurulan makina ismini belirtir. Öntanımlı değer yoktur.
Sürekli Informix bağlantılarının kullanılıp kullanılmayacağını belirtir.
Process başına en fazla sürekli Informix bağlantısını belirtir. process.
Process başına en fazla sürekli Informix bağlantı sayısını belirtir, sürekli bağlantılar dahildir.
ifx_connect() ya da ifx_pconnect() ile bir bağlantı adresi belirtilmediğinde kullanılacak öntanımlı adres değeridir.
ifx_connect() ya da ifx_pconnect() ile bir kullanıcı id'si belirtilmediğinde kullanılacak öntanımlı kullanıcı id'sidir.
ifx_connect() ya da ifx_pconnect() ile bir parola belirtilmediğinde kullanılacak öntanımlı paroladır.
Blob sütunların dosya içine döndürülmesini istiyorsanız TRUE değerini, hafızaya döndürülmesini istiyorsanız FALSE değerini atayın. Bu seçeneği çalışma esnasında ifx_blobinfile_mode() fonksiyonunu kullanarak değiştirebilirsiniz.
Select cümlelerinde TEXT sütunların normal karakter dizileri olarak döndürülmesini istiyorsanız TRUE değerini, blob id parametrelerini kullanmak istiyorsanız FALSE değerini atayın. Bu seçeneği çalışma esnasında ifx_textasvarchar() fonksiyonunu kullanarak değiştirebilirsiniz.
Select sorgularında BYTE sütunlarının normal karakter dizi değerler olarak döndürülmesini istiyorsanız TRUE değerini, blob id parametresi olarak kullanmak istiyorsanız FALSE değerini atayın. Bu seçeneği çalışma esnasında ifx_textasvarchar() fonksiyonu ile değiştirebilirsiniz.
CHAR sütunların çekilirken baştaki ve sondaki boşlukların temizlenmesini istiyorsanız TRUE değerini atayın.
NULL sütunların "NULL" karakter dizisi olarak döndürülmesini istiyorsanız TRUE değerini, boş "" değer olarak döndürülmesini istiyorsanız FALSE değerini atayın. Bu seçeneği çalışma esnasında ifx_nullformat() fonksiyonunu kullanarak değiştirebilirsiniz.
Bütün bcmath fonksiyonları için noktadan sonra kullanılacak rakkam sayısını belirtir.
Tarayıcı nitelik dosyasının ismi. Ayrıca get_browser() fonksiyonunu inceleyin.
odbc_connect() ya da odbc_pconnect() ile belirtilmediği takdirde kullanılacak ODBC veri kaynağı.
odbc_connect() ya da odbc_pconnect() ile belirtilmemişse kullanılacak kullanıcı ismi.
odbc_connect() ya da odbc_pconnect() ile belirtilmemişse kullanılacak parola.
Sürekli ODBC bağlantılarına izin verilip verilmeyeceğini belirtir.
Process başına en fazla sürekli ODBC bağlantı sayısını belirtir.
Process başına en fazla ODBC bağlantı sayısını belirtir. Sürekli bağlantı sayısı dahildir.
mbstring.internal_encoding öntanımlı uluslararası karakter kodlamasını belirtir.
mbstring.http_input öntanımlı HTTP karakter giriş kodlamasını belirtir.
mbstring.http_output öntanımlı HTTP çıkış karakter kodlamasını belirtir.
mbstring.detect_order öntanımlı karakter kodlaması tanıma sırasını belirtir.
mbstring.substitute_character hatalı karakter kodlarıyla değiştirilecek karakteri belirtir.