Bu liste PHP kurulumunuzu yapılandırmakta kullanacağınız yerleşik php.ini yönergelerini içerir. Eklentilerle ilgili yönergeler eklentinin kendi belgelerinde listelenmiş ve açıklanmışladır. Örneğin, oturum yönergeleri ile ilgili bilgileri oturumlar sayfasında bulabilirsiniz.
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi |
---|---|---|---|
async_send | "0" | PHP_INI_ALL |
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi |
---|---|---|---|
short_open_tag | "1" | PHP_INI_ALL | PHP 4.0.0'da PHP_INI_ALL. PHP < 5.3.0'da PHP_INI_PERDIR |
asp_tags | "0" | PHP_INI_PERDIR | PHP 4.0.0'da PHP_INI_ALL. |
precision | "14" | PHP_INI_ALL | |
serialize_precision | "17" | PHP_INI_ALL | PHP 4.3.2 ve sonrasında mevcuttur. PHP 5.3.5'e kadar öntanımlı değer 100 idi. |
y2k_compliance | "1" | PHP_INI_ALL | |
allow_call_time_pass_reference | "1" | PHP_INI_PERDIR | PHP 4.0.0'da PHP_INI_ALL. PHP 5.4.0'da kaldırıldı. |
disable_functions | "" | sadece php.ini | PHP 4.0.1 ve sonrasında mevcuttur. |
disable_classes | "" | sadece php.ini | PHP 4.3.2 ve sonrasında mevcuttur. |
exit_on_timeout | "" | PHP_INI_ALL | PHP 5.3.0 ve sonrasında mevcuttur. |
expose_php | "1" | sadece php.ini | |
zend.multibyte | "0" | PHP_INI_ALL | PHP 5.4.0 ve sonrasında mevcuttur. |
zend.script_encoding | NULL | PHP_INI_ALL | PHP 5.4.0 ve sonrasında mevcuttur. |
zend.signal_check | "0" | PHP_INI_SYSTEM | PHP 5.4.0 ve sonrasında mevcuttur. |
zend.ze1_compatibility_mode | "0" | PHP_INI_ALL | PHP 5.0.0 ve sonrasında mevcuttur. PHP 5.3.0'da kaldırıldı. |
detect_unicode | "1" | PHP_INI_ALL | PHP 5.1.0 ve sonrasında mevcuttur. Bu kullanımı önerilmeyen özellik gelecekte kesinlikle KALDIRILACAKTIR. |
Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.
short_open_tag
boolean
PHP'nin başlangıç etiketinin kısa gösteriminin kullanımına izin
verilip verilmediğini söyler. PHP'yi XML içinde kullanmak
isterseniz <?xml ?>
satırını kullanmak
için bu kısa etiket kullanımını iptal edip uzun etiket
(<?php ?>
) kullanabilirsiniz. Aksi
takdirde satırı <?php echo '<?xml
version="1.0"?>';?>
şeklinde PHP'ye
yazdırabilirsiniz.
Bilginize:
Bu yönerge ayrıca,
<? echo
'ya eşdeğer olan<?=
kısaltmasını da etkiler. Bu kısaltmayı kullanabilmek içinshort_open_tag
yönergesinin değeri 1 olmalıdır.
precision
integer
serialize_precision
integer
y2k_compliance
boolean
allow_call_time_pass_reference
boolean
İşlev çağrısı sırasında değiştirgeler gönderimli aktarıldığında uyarı verilip verilmeyeceğini belirler. Bu yöntemin kullanımı Hangi değiştirgelerin gönderimli aktarılacağını işlev bildiriminde belirtmek daha iyidir. Bunu yapıp, betiğinizin, dilin gelecekteki sürümlerinde de düzgün çalışabilmesi için bu yönergeye sıfır atamanız önerilir (yoksa bu özelliği her kullanışınızda bir uyarı alırsınız).
İşlev çağrısı sırasında değiştirgelerin gönderimli aktarımı kodun temizliği açısından önerilmemektedir. Eğer işlev bildiriminde değiştirgenin gönderimli aktarılacağı belirtilmemişse işlev değiştirgesini bilgi vermeden değiştirebilir. Bu yan etkilerden kaçınmak için hangi değiştirgenin gönderimli aktarılacağının sadece işlev bildiriminde belirtilmesi daha iyidir.
Ayrıca bakınız: Gönderimlerle İlgili Herşey.
Sürüm: | Açıklama |
---|---|
5.4.0 | PHP'den kaldırıldı. |
5.3.0 |
E_DEPRECATED seviyesinden hata çıktılar.
|
5.0.0 |
Kullanımı önerilmemektedir ve
E_COMPILE_WARNING seviyesinden hata çıktılar.
|
expose_php
boolean
PHP'nin kurulu olduğu sunucuda sürüm bilgisini HTTP başlığına eklemek suretiyle (örn: X-Powered-By: PHP/5.3.7) kendini karşıya gösterip göstermeyeceğini belirler. PHP logo guid'leri ayrıca ilan edilir; sitenin URL'sine eklemek suretiyle ilgili logo gösterilir. Bu ayrıca phpinfo() çıktısını da etkiler ve iptal edildiği zaman olduğu gibi PHP logosu ve bazı bilgiler gösterilmez.
Ayrıca bakınız: php_logo_guid() ve phpcredits().
disable_functions
string
Bu yönerge ile sadece dahili işlevler iptal edilebilir. Kullanıcı tarafından tanımlanmış işlevler etkilenmez.
Bu yönerge sadece php.ini içinde atanabilir. Örneğin httpd.conf dosyasında tanımlayamazsınız.disable_classes
string
Bilginize: Kullanılabilirlik bilgisi
Bu yönerge PHP 4.3.2'dan itibaren kullanılabilir.
zend.ze1_compatibility_mode
boolean
Zend Motoru 1 ile uyumluluk kipini etkin kılar (PHP 4). Nesne
kopyalama, tür çarpıtma (özellikleri olmayan nesnelerin türü FALSE
veya 0 olarak çarpıtılır) ve nesne
karşılaştırmayı etkiler. Bu kipte nesneler öntanımlı olan
gönderimle değil değerleriyle aktarılırlar.
Ayrıca bakınız: PHP 4'ten PHP 5'e yükseltme.
Bu özelliğin kullanımı artık ÖNERİLMEMEKTE olup PHP 5.3.0 itibariyle özellik KALDIRILMIŞTIR.
zend.multibyte
boolean
Çokbaytlı kodlanmış kaynak dosyalarının çözümlenmesini etkin kılar.
zend.script_encoding
string
Betiğin tepesinde declare(encoding=...) yönergesi görünmediği takdirde bu değer kullanılır.
zend.signal_check
boolean
Sistemin kapanması sırasında sinyal eylemcilerinin yerlştirilip yerleştirilmediğini sınamak için.
detect_unicode
boolean
Bayt sırası imine ve dosyanın geçerli çok baytlı karakterleri içerip içermediğine bakar. Bu işlem __halt_compiler() işleme sokulmadan önce yapılır. Sadece Çokbaytlı Zend kipinde kullanılabilir.
exit_on_timeout
boolean
Bu Apache1 mod_php modülüne özgü bir yönergedir ve PHP icrası sırasında bir zaman aşımı oluştığu takdirde PHP'yi çalıştıran Apache lat sürecinin çıkmasını sağlar. Böyle bir zaman aşımı Apache1 içinde bazı eklentileri kararsız durumda bırakabilen dahili bir longjmp() çağrısına sebep olur. Süreci sonlandırmak suretiyle takılı kalmış kilitler ve bellek temizlenebilir.
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi |
---|---|---|---|
memory_limit | "128M" | PHP_INI_ALL | PHP 5.2.0 öncesi "8M", PHP 5.2.0'da "16M" |
Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.
memory_limit
integer
Bir betiğin ayırmasına izin verilebilecek belleğin azami miktarını belirler. Bu yönerge, yetersiz betiklerin bir sunucu üzerinde mevcut belleğin tamamını tüketmesini önlemeye yardımcı olur. Belleği sınırlamak istemiyorsanız yönergeye -1 değeri atayın.
PHP 5.2.1 öncesinde, bu yönergeyi kullanabilmek için PHP'yi derlerken --enable-memory-limit yapılandırma seçeneğini kullanmak gerekirdi. 5.2.1 öncesinde bu derleme seçeneği ayrıca, memory_get_usage() ve memory_get_peak_usage() işlevlerinin de tanımlanmasını gerektirirdi.
integer türünde bir değer kullanıldığında değer baytların sayısıdır. Büyük bayt değerleri için kullanılabilecek birimlerin gösterimleri hakkında bilgiyi bu SSS altında bulabilirsiniz.Ayrıca bakınız: max_execution_time.
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi |
---|---|---|---|
realpath_cache_size | "16K" | PHP_INI_SYSTEM | PHP 5.1.0 ve sonrasında mevcuttur. |
realpath_cache_ttl | "120" | PHP_INI_SYSTEM | PHP 5.1.0 ve sonrasında mevcuttur. |
Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.
realpath_cache_size
integer
PHP tarafından kullanılan realpath önbelleğinin boyunu belirler. PHP'nin çok sayıda dosya açtığı sistemlerde gerçekleştirilen dosya işlemlerinin miktarına bağlı olarak bu değerin arttırılması gerekir.
realpath_cache_ttl
integer
Belli bir dosya veya dizin için realpath bilgisini önbellekte tutma süresi (saniye cinsinden). Dosyaların nadiren değiştiği sistemlerde bu değer arttırılabilir.
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi |
---|---|---|---|
track_vars | "On" | PHP_INI_?? | |
arg_separator.output | "&" | PHP_INI_ALL | PHP 4.0.5 ve sonrasında mevcuttur. |
arg_separator.input | "&" | PHP_INI_PERDIR | PHP 4.0.5 ve sonrasında mevcuttur. |
variables_order | "EGPCS" | PHP_INI_PERDIR | PHP <= 5.0.5'te PHP_INI_ALL. |
request_order | "" | PHP_INI_SYSTEM|PHP_INI_PERDIR | PHP 5.3.0 ve sonrasında mevcuttur. |
auto_globals_jit | "1" | PHP_INI_PERDIR | PHP 5.0.0 ve sonrasında mevcuttur. |
register_globals | "0" | PHP_INI_PERDIR | PHP <= 4.2.3'te PHP_INI_ALL. PHP 5.4.0'da kaldırıldı. |
register_argc_argv | "1" | PHP_INI_PERDIR | PHP <= 4.2.3'te PHP_INI_ALL. |
register_long_arrays | "1" | PHP_INI_PERDIR | PHP 5.0.0 ve sonrasında mevcuttur. PHP 5.3.0'dan itibaren kullanımı önerilmemektedir. PHP 5.4.0'da kaldırıldı |
post_max_size | "8M" | PHP_INI_PERDIR | PHP <= 4.2.3'te PHP_INI_SYSTEM. PHP 4.0.3 ve sonrasında mevcuttur. |
gpc_order | "GPC" | PHP_INI_ALL | |
auto_prepend_file | NULL | PHP_INI_PERDIR | PHP <= 4.2.3'te PHP_INI_ALL. |
auto_append_file | NULL | PHP_INI_PERDIR | PHP <= 4.2.3'te PHP_INI_ALL. |
default_mimetype | "text/html" | PHP_INI_ALL | |
default_charset | "" | PHP_INI_ALL | |
always_populate_raw_post_data | "0" | PHP_INI_PERDIR | PHP <= 4.2.3'te PHP_INI_ALL. PHP 4.1.0 ve sonrasında mevcuttur. |
allow_webdav_methods | "0" | PHP_INI_PERDIR |
Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.
track_vars
boolean
Etkin kılınırsa Ortam, GET, POST, Çerez ve Sunucu değişkenleri $_ENV, $_GET, $_POST, $_COOKIE ve $_SERVER küresel ilişkisel dizilerinde bulunabilir.
PHP 4.0.3 ve sonrasında, track_vars
daima on
değerine sahiptir.
arg_separator.output
string
PHP'de üretilen URL'leri değiştirgelerine ayırmak için kullanılan ayraç.
arg_separator.input
string
Girdi olarak verilen URL'leri değişkenlere çözümlemek için PHP tarafından kullanılan ayraçların listesi.
Bilginize:
Bu yönergede belirtilen her karakter bir ayraç olarak ele alınır!
variables_order
string
EGPCS (Environment, Get, Post, Cookie ve Server) değişken çözümleme sırası belirtilir. Örneğin, değer olarak "SP" belirtilirse, PHP, $_SERVER ve $_POST süper küresellerini oluşturacak ama $_ENV, $_GET ve $_COOKIE süper küresellerini oluşturmayacaktır. Değer olarak "" atanırsa hiçbir süper küresel atanmayacaktır.
Kullanımı önerilmeyen register_globals yönergesine
1 atanırsa variables_order
yönergesi ayrıca,
küresel etki alanındaki ENV,
GET, POST,
COOKIE ve SERVER
değişkenlerinin sırasını da belirler. Örneğin
variables_order
yönergesine
"EGPCS" atanır,
register_globals
etkinleştirilir ve hem
$_GET['action'] hem de
$_POST['action'] atanırsa,
$action değişkeni
$_POST['action'] değerini içerecektir; bunun
sebebi örnek yönergemizde P'nin
G'den sonra gelmesidir.
CGI ve FastCGI SAPI'lerinin her ikisi için de $_SERVER dizisi ortamdaki değerlerle oluşturulur; S, E'nin yönergedeki yerinden bağımsız olarak daima ES'e eşdeğerdir.
Bilginize:
Ayrıca, $_REQUEST dizisinin içeriği ve sırası da bu yönergeden etkilenir.
request_order
string
GET, POST ve Cookie değişkenlerinin $_REQUEST dizisinin içindeki sırasını belirler. Yazma işlemi soldan sağa doğru ilerleyerek yeni değerler eskileri geçersiz kılar.
Bu yönerge atanmazsa $_REQUEST dizisinin içeriği variables_order yönergesiyle belirlenir.
Güvenlik kaygılarından dolayı dağıtımla gelen öntanımlı php.ini dosyaları çerezler için 'C' içermez.
auto_globals_jit
boolean
Etkinleştirildiğinde, SERVER ve ENV değişkenleri betik çalıştırıldığı zaman değil, değişkenler kullanıldığı anda (tam zamanında) oluşturulur. Bu değişkenler bir betik içinde kullanılmamışlarsa bu yönergenin varlığı bir başarım kazancıyla sonuçlanacaktır.
register_globals, register_long_arrays, ve register_argc_argv PHP yönergeleri, bu yönergenin etkili olabilmesi için etkinleştirilmemelidir. PHP 5.1.3 ve sonrasında register_argc_argv'nin etkisiz kılınmasına gerek yoktur.
SERVER ve ENV değişkenlerinin kullanımı derleme sırasında sınanır, dolayısıyla örneğin değişken değişkenler üzerinden kullanılmaları ilklendirilmelerine sebep olmayacaktır.
register_globals
boolean
EGPCS (Environment, GET, POST, Cookie, Server) değişkenlerinin küresel değişkenler haline getirilip getirilmeyeceklerini belirler.
PHP 4.2.0 ve sonrasında, bu yönergenin öntanımlı değeri
off
'tur.
Daha fazla bilgi için register_globals
kullanımı adlı güvenlik
bölümünü okuyunuz.
register_globals
yönergesine çalışma anında (ini_set() ile) değer
atanamayacağına dikkat ediniz. Yine de, yukarıda açıklandığı gibi
konağınız izin veriyorsa .htaccess kullanabilirsiniz. Örnek
.htaccess girdisi:
php_flag register_globals off
.
Bilginize:
register_globals
yönergesi variables_order yönergesinden etkilenir.
Bu özelliğin kullanımı PHP 5.3.0 itibariyle ÖNERİLMEMEKTE olup PHP 5.4.0'da tamamen KALDIRILMIŞTIR.
register_argc_argv
boolean
register_long_arrays
boolean
on
olduğunda
(öntanımlıdır), $HTTP_GET_VARS gibi uzun önceden
tanımlanmış değişkenler tanımlanacaktır. Bunları kullanmayacaksanız
başarımı arttırmak için etkisiz kılmanızı öneririz. Bunların yerine
$_GET gibi süper küresel
dizileri kullanmak daha iyidir.
like $_GET.
Bu yönerge PHP 5.0.0'da kullanılabilir hale gelmiştir.
Bu özelliğin kullanımı PHP 5.3.0 itibariyle ÖNERİLMEMEKTE olup PHP 5.4.0'da tamamen KALDIRILMIŞTIR.
enable_post_data_reading
boolean
post_max_size
integer
post_max_size
değerinden büyük olması gerekir.
integer türünde bir değer kullanıldığında değer baytların
sayısıdır. Büyük bayt değerleri için kullanılabilecek birimlerin gösterimleri
hakkında bilgiyi bu SSS
altında bulabilirsiniz.
Eğer POST verisinin boyu post_max_size
değerinden büyükse $_POST ve
$_FILES süper küreselleri
boş olur. Bu, çeşitli yollarla izlenebilir; örneğin, veriyi işleyen
betiğe $_GET değişkenini <form
action="edit.php?processed=1"> ile aktararak ve
ardından $_GET['processed'] atanmış mı diye
sınanarak bu yapılabilir.
Bilginize:
PHP bit değerleri için K (kilo), M (mega) ve G (giga) birim kısaltmalarını kabul eder. Bunları kullanırsanız PHP dönüşümü özdevinimli olarak yapacaktır. 32 bitlik sürümleri kullanıyorsanız, 32 bitlik işaretli tamsayı sınırını aşmamaya dikkat edin, aksi takdirde betiğiniz başarısız olacaktır.
gpc_order
string
GET/POST/COOKIE değişken çözümleme sırasını belirler. Yönergenin öntanımlı değeri "GPC"'dir. Örneğin "GP" değerini atamak, PHP'nin çerezleri tamamen yoksaymasına sebep olacak ve GET yönteminin değişkenleri aynı isimdeki POST yönteminin değişkenlerinin üzerine yazacaktır.
Bilginize:
Bu yönerge PHP 4'te yoktur. Yerine variables_order yöregesini kullanın.
auto_prepend_file
string
Özdevinimli olarak ana betikten önce çözümlenecek dosyanın ismi belirtilir. Dosya require ile belirtilmiş gibi ana dosyanın başına eklenir; dolayısıyla dosyayı bulmak için include_path kullanılır.
none özel değeri başa dosya eklemeyi iptal eder.
auto_append_file
string
Özdevinimli olarak ana betikten sonra çözümlenecek dosyanın ismi belirtilir. Dosya require ile belirtilmiş gibi ana dosyanın sonuna eklenir; dolayısıyla dosyayı bulmak için include_path kullanılır.
none özel değeri sona dosya eklemeyi iptal eder.
Bilginize: Eğer betik exit() ile sonlanırsa özdevinimli ekleme gerçekleşmez.
default_mimetype
string
Öntanımlı MIME türü.
default_charset
string
PHP, Content-type: başlığında öntanımlı olarak bir karakter kodlaması çıktılar. Karakter kümesi gönderimini iptal etmek için yönergeye boş dizge ("") atamak yeterlidir.
always_populate_raw_post_data
boolean
$HTTP_RAW_POST_DATA değişkeni daima ham POST verisi içerilerek oluşturulur. Aksi takdirde, veri sadece tanınmayan MIME türünde oluşturulur. Bununla birlikte, ham POST verisine erişmek için tercih edilen yol php://input'tur. $HTTP_RAW_POST_DATA, enctype="multipart/form-data" ile kullanılamaz.
allow_webdav_methods
boolean
WebDAV http isteklerinin PHP betikleri içinde elde edilmesine izin verir (PROPFIND, PROPPATCH, MOVE, COPY, vs.). Bu yönerge PHP 4.3.2'de kullanımdan kaldırılmıştır. POST verisini bu isteklerden almak isterseniz always_populate_raw_post_data yönergesini de etkin kılmalısınız.
Ayrıca bakınız: magic_quotes_gpc, magic_quotes_runtime ve magic_quotes_sybase.
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi |
---|---|---|---|
include_path | ".;/path/to/php/pear" | PHP_INI_ALL | |
open_basedir | NULL | PHP_INI_ALL | PHP < 5.3.0'da PHP_INI_SYSTEM. |
doc_root | NULL | PHP_INI_SYSTEM | |
user_dir | NULL | PHP_INI_SYSTEM | |
extension_dir | "/path/to/php" | PHP_INI_SYSTEM | |
extension | NULL | sadece php.ini | |
zend_extension | NULL | sadece php.ini | |
zend_extension_debug | NULL | sadece php.ini | PHP 5.3.0 öncesinde kullanılabilir. |
zend_extension_debug_ts | NULL | sadece php.ini | PHP 5.3.0 öncesinde kullanılabilir. |
zend_extension_ts | NULL | sadece php.ini | PHP 5.3.0 öncesinde kullanılabilir. |
cgi.check_shebang_line | "1" | PHP_INI_SYSTEM | PHP 5.2.0 ve sonrasında mevcuttur. |
cgi.fix_pathinfo | "1" | PHP_INI_SYSTEM | PHP 4.3.0 ve sonrasında mevcuttur. PHP 5.2.1 öncesinde PHP_INI_ALL. |
cgi.force_redirect | "1" | PHP_INI_SYSTEM | PHP 4.2.0 ve sonrasında mevcuttur. PHP 5.2.1 öncesinde PHP_INI_ALL. |
cgi.redirect_status_env | NULL | PHP_INI_SYSTEM | PHP 4.2.0 ve sonrasında mevcuttur. PHP 5.2.1 öncesinde PHP_INI_ALL. |
cgi.rfc2616_headers | "0" | PHP_INI_ALL | PHP 4.3.0 ve sonrasında mevcuttur. |
fastcgi.impersonate | "0" | PHP_INI_SYSTEM | PHP 4.3.0 ve sonrasında mevcuttur. PHP 5.2.1 öncesinde PHP_INI_ALL. |
fastcgi.logging | "1" | PHP_INI_SYSTEM | PHP 4.3.0 ve sonrasında mevcuttur. PHP 5.2.1 öncesinde PHP_INI_ALL. |
Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.
include_path
string
require, include, fopen(), file(), readfile() ve file_get_contents() işlevleri için dosyaların aranacağı dizinler belirtilir. Dizgenin biçemi sistemin PATH ortam değişkenindeki gibidir: Dizinler Unix'te iki nokta imleriyle, Windows'ta ise noktalı virgüllerle ayrılır.
PHP, dahil edilecek dosyaları include_path
içindeki yollarda her dosya için tek tek sırayla arar. Önce ilk yola
bakar, sonra diğerine, böyle gider. Dosyayı bulursa döner, bulamazsa
bir
uyarı veya bir hata verir.
Bu yönergenin değerini betiğinizin çalışması sırasında
set_include_path() işleviyle değiştirebilirsiniz.
Örnek 1 Unix include_path
include_path=".:/php/includes"
Örnek 2 Windows include_path
include_path=".;c:\php\includes"
Dosya yolu olarak . belirtilmesi çalışılan dizinin arama yollarına dahil edilmesini sağlar. Ancak, dahil edilen her dosyayı PHP'nin daima denetlemesini isterseniz include './dosya' biçemini kullanmak daha iyidir.
open_basedir
string
PHP tarafından açılmış dosyaları, dosyanın kendisi de dahil olmak üzere belirtilen dizin ağacı ile sınırlar. Bu yönerge güvenli kipin etkin olup olmamasından etkilenmez.
Örneğin bir betik, fopen() veya gzopen() ile bir dosya açmaya çalışırsa dosyanın yerine bakılır. Dosya belirtilen dizin ağacının dışındaysa PHP bu dosyayı açmayı reddeder. Tüm sembolik bağlar çözümlenir, dolayısıyla bir sembolik bağ kullanarak bu kısıtlamayı aşmak mümkün değildir. Eğer dosya mevcut değilse sembolik bağ çözümlenemeyeceğinden dosyanın kendisi open_basedir ile karşılaştırılır.
Betiğin çalışma dizinini belirten nokta (.
) özel değeri temel dizini belirtmek
için kullanılabilir. Bunula birlikte, çalışma dizini
chdir() ile kolayca değiştirilebilceğinden bunu
yapmak biraz tehlikelidir.
httpd.conf içinde (örneğin bazı sanal konaklarda), open_basedir yönergesi diğer "php_admin_value open_basedir none" gibi yapılandırma yönergelerinde yapıldığı gibi kapatılabilir.
Windows altında, dizinleri aralarına noktalı virgül konarak belirtilir. Diğer tüm sistemlerde ikinokta imi kullanılır. PHP'nin Apache modülü olarak kullanıldığı durumlarda open_basedir ile belirtilen yollar artık üst dizinlerinden özdevinimli olarak miras alınmaktadır.
PHP 5.2.16 ve 5.3.4'ten beri open_basedir ile belirtilen kısıt bir dizin ismidir. Önceki sürümler bunu bir önek olarak kullanırdı. Örneğin "open_basedir = /dir/incl" ile (mevcut oldukları takdirde) "/dir/include" dizinlerine erişime izin verilir. Belli bir dizine erişimi kısıtlamak istiyorsanız yolun sonuna bir bölü çizgisi ekleyin. Örnek: open_basedir = /dir/incl/
Öntanımlı olarak bütün dosyaların açılmasına izin verilir.
Bilginize:
PHP 5.3.0'dan itibaren open_basedir çalışma anında daha da kısıtlayıcı hale getirilebilmektedir. Örneğin, php.ini içinde open_basedir yönergesinde /siteler/ dizini belirtilmişse çalışma anında ini_set() işlevi kullanılarak kısıtlama /siteler/tmp/ ile daha da daraltılabilir. Çeşitli dizinleri listelerken, işletim sisteminin kısıtlarına aldırmaksızın bir ayraç olarak
PATH_SEPARATOR
sabiti kullanılabilir.
doc_root
string
PHP'nin sunucu üzerindeki kök dizini. Sadece boş olmadığı takdirde
kullanılır. PHP safe_mode
ile yapılandırılmışsa, Bu dizin dışındaki
dosyalar sunulmaz. PHP, FORCE_REDIRECT ile derlenmişse, PHP'yi HTTP
sunucusu altında bir CGI olarak çalıştırıyorsanız
doc_root
yönergesini atamanız
gerekir (IIS hariç). Bunun yerine aşağıdaki
cgi.force_redirect
yapılandırması da kullanılabilir.
user_dir
string
Kullanıcının ev dizininde PHP dosyalarının bulunduğu ana dizin. Örnek: public_html.
extension_dir
string
PHP'nin devingen olarak yüklenebilen eklentileri arayacağı dizin. Ayrıca bakınız: enable_dl ve dl().
extension
string
PHP başlatılırken devingen olarak yüklenecek eklentiler.
zend_extension
string
PHP başlatılırken yüklenecek devingen olarak yüklenebilen Zend eklentisinin mutlak yolu (örneğin: APD).
zend_extension_debug
string
Hata ayıklama bilgisi ile derlenmiş eklentiler için PHP5.3.0 öncesinde zend_extension yerine bu yönerge kullanılır.
zend_extension_debug_ts
string
PHP5.3.0 öncesinde evre güvenliği ve hata ayıklama bilgisi ile derlenmiş eklentiler için zend_extension yerine bu yönerge kullanılır.
zend_extension_ts
string
PHP5.3.0 öncesinde evre güvenliği ile derlenmiş eklentiler için zend_extension yerine bu yönerge kullanılır.
cgi.check_shebang_line
boolean
CGI PHP'nin betiklerin başında #! ile başlayan satırın varlığına bakıp bakmayacağını belirler. Betik hem PHP CGI hem de tek başına bir betik olarak çalışabiliyorsa bu satır gerekebilir. PHP, CGI kipinde çalışırken bu satırı atlar, bu yönerge "1" olsa bile satırın içeriği yok sayılır.
cgi.fix_pathinfo
boolean
CGI için gerçek PATH_INFO/PATH_TRANSLATED desteği sağlar. PHP'nin önceki davranışı SCRIPT_FILENAME'e PATH_TRANSLATED atamak ve PATH_INFO'yu kaale almamaktı. PATH_INFO hakkında daha ayrıntılı bilgi edinmek için CGI belirtimine bakınız. Bu yönergeye 1 atamakla PHP CGI'nin CGICGI belirtimine uygun olarak dosya arama yollarını düzeltmesi sağlanmış olur. Sıfır atandığında ise PHP'nin önceki davranışı etkin olur. Öntanımlı değer sıfırdır. Betiklerinizi PATH_TRANSLATED değil SCRIPT_FILENAME kullanması için düzeltmelisiniz.
cgi.force_redirect
boolean
PHP'nin çoğu HTTP sunucusunda bir CGI olarak çalışmasının güvenli olmasını sağlamak için bu yönerge gereklidir. Tanımsız bırakılmışsa PHP öntanımlı olarak yönergeyi etkin kılar. Bu yönergeyi etkisiz bırakmakla kendinizi riske atmış olursunuz.
Bilginize:
Windows Kullanıcılarına: IIS kullanıyorsanız buna rahatça sıfır atayabilirsiniz ve hatta bunu yapmalısınız. Bu, OmniHTTPD veya Xitami'nin çalışması için de yapılmalıdır.
cgi.redirect_status_env
string
cgi.force_redirect
yönergesine 1 atanmışsa ve
Apache veya Netscape (iPlanet) HTTP sunucularını kullanmıyorsanız,
PHP'nin çalışmaya devam edebileceği bilgisini almak için bakacağı
bir ortam değişkeni ismini bu yönergeye atamanız
gerekebilir.
Bilginize:
Ne yaptığınız konusunda bir fikriniz yoksa bu yönergeye bir isim atamak güvenlikle ilgili sorunlara yol açabilir.
cgi.rfc2616_headers
int
HTTP yanıt kodu gönderilirken hangi başlık türlerinin kullanılacağını belirler. 0 atanırsa PHP, Apache ve diğer HTTP sunucuları tarafından desteklenen bir Status: başlığı gönderir. 1 atanırsa PHP, » RFC 2616 uyumlu başlıklar gönderir. Ne yapıldığı hakkında bir fikriniz yoksa bu yönergeyi 0 değeriyle bırakın.
fastcgi.impersonate
string
IIS (WINNT temelli sistemlerde) altında FastCGI, çağrı yapan istemcinin güvenlik dizgeciklerinin taklit edilmesi yeteneğini destekler. Bu, IIS'ye isteğin altında çalıştığı güvenlik bağlamını tanımlama izni verir. Apache'nin mod_fastcgi modülü bu özelliği desteklemez (17-03-2002). IIS altında çalışılıyorsa yönergeye 1 atayın. Öntanımlı değer sıfırdır.
fastcgi.logging
boolean
Turns on SAPI logging when using FastCGI kullanırken SAPI oturum açma etkin olur ve bu öntanımlı durumdur.
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi |
---|---|---|---|
file_uploads | "1" | PHP_INI_SYSTEM | PHP <= 4.2.3'te PHP_INI_ALL. PHP 4.0.3 ve sonrasında mevcuttur. |
upload_tmp_dir | NULL | PHP_INI_SYSTEM | |
max_input_nesting_level | 64 | PHP_INI_PERDIR | PHP 5.3.9'dan beri kullanılabilmektedir. |
max_input_vars | 1000 | PHP_INI_PERDIR | PHP 5.3.9'dan beri kullanılabilmektedir. |
upload_max_filesize | "2M" | PHP_INI_PERDIR | PHP <= 4.2.3'te PHP_INI_ALL. |
max_file_uploads | 20 | PHP_INI_SYSTEM | PHP 5.2.12'den beri kullanılabilmektedir. |
Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.
file_uploads
boolean
HTTP üzerinden karşıya dosya yüklemeye izin verilip verilmeyeceğini belirler. Ayrıca, upload_max_filesize, upload_tmp_dir ve post_max_size yönergelerine de bakınız.
integer türünde bir değer kullanıldığında değer baytların sayısıdır. Büyük bayt değerleri için kullanılabilecek birimlerin gösterimleri hakkında bilgiyi bu SSS altında bulabilirsiniz.upload_tmp_dir
string
Karşıya dosya yüklenirken dosyaların geçici olarak saklanacağı dizin. Dizinin, PHP'yi çalıştıran kullanıcı tarafından yazılabilir olması gerekir. Bir dizin belirtilmezse PHP sistem öntanımlısını kullanır.
upload_max_filesize
integer
Karşıya yüklenecek dosyalar için azami boyut.
integer türünde bir değer kullanıldığında değer baytların sayısıdır. Büyük bayt değerleri için kullanılabilecek birimlerin gösterimleri hakkında bilgiyi bu SSS altında bulabilirsiniz.max_file_uploads
integer
Aynı anda karşıya yüklenebilecek azami dosya sayısı.
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi |
---|---|---|---|
sql.safe_mode | "0" | PHP_INI_SYSTEM |
Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.
sql.safe_mode
boolean
On değeri atandığında, öntanımlı değerler belirtilmiş veritabanı bağlantı işlevleri sağlanan değiştirgelerin yerine bu değerleri kullanacaktır. Öntanımlı değerlerin neler olduğunu görmek için ilgili veritabanının bağlantı işlevleri belgelerine bakınız.
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi |
---|---|---|---|
windows_show_crt_warning | "0" | PHP_INI_ALL | PHP 5.4.0'dan beri kullanılabilmektedir. |
Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.
windows_show_crt_warning
boolean
Etkin olduğunda Windows CRT uyarılarını gösterir. PHP 5.4.0'a kadar bu uyarılar öntanımlı olarak gösterilirdi.