PHP Australia Conference 2015

Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

PHP Seçenekleri ve Bilgileri için Yapılandırma Seçenekleri
İsim Öntanımlı Değişlik Yeri Sürüm Bilgisi
assert.active "1" PHP_INI_ALL  
assert.bail "0" PHP_INI_ALL  
assert.warning "1" PHP_INI_ALL  
assert.callback NULL PHP_INI_ALL  
assert.quiet_eval "0" PHP_INI_ALL  
enable_dl "1" PHP_INI_SYSTEM Bu kullanımı önerilmeyen özellik gelecekte kesinlikle KALDIRILACAKTIR.
max_execution_time "30" PHP_INI_ALL  
max_input_time "-1" PHP_INI_PERDIR PHP 4.3.0'dan beri kullanılmaktadır.
max_input_nesting_level "64" PHP_INI_PERDIR PHP 4.4.8 ve 5.2.3'den beri kullanılmaktadır.
max_input_vars 1000 PHP_INI_PERDIR PHP 5.3.9'dan beri kullanılmaktadır.
magic_quotes_gpc "1" PHP_INI_PERDIR PHP <= 4.2.3'te PHP_INI_ALL. PHP 5.4.0'da kaldırıldı.
magic_quotes_runtime "0" PHP_INI_ALL PHP 5.4.0'da kaldırıldı.
zend.enable_gc "1" PHP_INI_ALL PHP 5.3.0'dan beri kullanılmaktadır.

PHP_INI_* kiplerinin tanımları ve ayrıntılı açıklamaları için Yapılandırma ayarlarının yeri bölümüne bakınız.

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

assert.active boolean

assert() değerlendirmesini etkin kılar.

assert.bail boolean

Kararlılık denetimleri başarısız olduğunda betiğin çalışmasını sonlandırır.

assert.warning boolean

Başarısız olan her kararlılık denetimi için bir PHP uyarısı çıktılar.

assert.callback string

Kararlılık denetimleri başarısız olduğunda çağrılacak kullanıcı işlevi.

assert.quiet_eval boolean

Kararlılık denetimini sağlayan ifadenin değerlendirilmesi sırasında error_reporting() işlevinin o anki ayarları kullanılır. Etkin olduğunda değerlendirme sırasında hiçbir hata gösterilmez (örtük error_reporting(0)). Aksi takdirde, hatalar error_reporting() ayarlarına uygun olarak gösterilir.

enable_dl boolean

Bu yönerge gerçekte sadece PHP'nin Apache modülünde yararlıdır. PHP eklentilerinin dl() işleviyle sanal konak veya dizin temelinde devingen olarak yüklenmesini veya yüklenmemesini etkin kılabilirsiniz.

Devingen yüklemenin devre dışı bırakılmasının asıl sebebi güvenliktir. Devingen yükleme ile, tüm open_basedir sınırlamalarını yok saymak mümkündür. Devingen yüklemeye safe_mode kullanımı dışında öntanımlı olarak izin verilir. Güvenli kipte dl() işlevi asla kullanılamaz.

max_execution_time integer

Çözümleyici tarafından sonlandırılmadan önce bir betiğin çalışabileceği azami süreyi saniye cinsinden tanımlar. Bu, yetersizce yazılmış betiklerin sunucuya bağlanmasına engel olur. Öntanımlı süre 30 saniyedir. PHP komut satırından çalıştırıldığında bu süre 0 saniyedir.

Azami çalışma süresi sistem çağrılarından, akım işlemlerinden ve benzerlerinden etkilenmez. Daha ayrıntılı bilgi için set_time_limit() işlevinin açıklamasına bakınız.

Güvenli kipte (safe_mode) çalışırken ini_set() ile bu ayarı değiştiremezsiniz. Bunu yapmanın tek çaresi php.ini içinde güvenli kipi kapatmak ya da süre sınırlamasını değiştirmektir.

HTTP sunucunuzun PHP'nin çalışmasını kesintiye uğratacak başka zaman aşımı yapılandırmaları olabilir. Apache'nin bir Timeout yönergesi ve IIS'nin bir CGI zaman aşımı işlevi vardır. Bu konuda daha ayrıntılı bilgi edinmek için HTTP sunucunuzun belgelerine bakınız.

max_input_time integer

Bir betiğin POST ve GET gibi girdileri çözümlemesi için gereken azami süre saniye cinsinden burada belirtilir. Sunucu tarafından tüm verinin alınışından betiğin çalışmaya başlamasına kadar geçen süredir.

max_input_nesting_level integer

girdi değişkenlerinin ($_GET, $_POST... gibi) azami iç içelik derinliğini ayarlar.

max_input_vars integer

Kabul edilebilecek girdi değişkenlerinin sayısı. Çırpı çatışmalarını kullanan hizmet reddi saldırıları olasılığını azaltmak için kullanılır. Bu yönergede belirtilenden daha fazla girdi değişkeni varsa bir E_WARNING çıktılanır ve istekteki fazla değişkenler yoksayılır. Bu kısıt sadece çok boyutlu bir girdi dizisinin iç içe her seviyesine uygulanır.

magic_quotes_gpc boolean
Uyarı

Bu özelliğin kullanımı PHP 5.3.0 itibariyle ÖNERİLMEMEKTE olup PHP 5.4.0'da tamamen KALDIRILMIŞTIR.

GPC (Get/Post/Cookie) işlemleri için sihirli tırnakların durumunu ayarlar. Bu yönergeye 'On' atandığında tüm ' (tek tırnak), " (çift tırnak), \ (tersbölü) ve NULL karakterleri özdevinimli olarak bir tersbölü ile öncelenecektir.

Bilginize:

PHP 4'te bunlardan başka $_ENV değişkenleri de öncelenir.

Bilginize:

Eğer magic_quotes_sybase yönergesine de ON atanmışsa bu magic_quotes_gpc yönergesini tamamen geçersiz kılacaktır. Her iki yönergenin etkin olmasının anlamı, sadece tek tırnakların '' biçiminde öncelenmesi, çift tırnakların, tersbölülerin ve NULL'ların olduğu gibi bırakılması, öncelenmemesi demektir.

Ayrıca, get_magic_quotes_gpc() işlevinin açıklamasına da bakınız.

magic_quotes_runtime boolean
Uyarı

Bu özelliğin kullanımı PHP 5.3.0 itibariyle ÖNERİLMEMEKTE olup PHP 5.4.0'da tamamen KALDIRILMIŞTIR.

magic_quotes_runtime yönergesi etkinse, veritabanları ve metin dosyaları gibi her tür harici kaynaktan veri döndüren çoğu işlev öncelem için tersbölü karakterini kullanacaktır. Eğer magic_quotes_sybase yönergesi de ON ise, tek tırnaklar tersbölü yerine bir tek tırnak ile öncelenir.

magic_quotes_runtime yönergesinden etkilenen işlevler (PECL'dekiler hariç):

zend.enable_gc boolean

Döngüsel gönderim toplayıcısını açıp kapar.

add a note add a note

User Contributed Notes 3 notes

up
3
rubo77
1 year ago
I think it is important to mention that some distributions apply bugfixes for older versions so "Available since PHP 5.3.9" is not reliable, for example:
debian squeeze implemented the directive max_input_vars in PHP 5.3.3-7+squeeze7 (see http://ftp-master.metadata.debian.org/changelogs/main/p/php5/php5_5.3.3-7+squeeze17_changelog )
up
2
horst at pepperzak.com
3 years ago
Caution: Although magic_quotes_gpc is flagged as dreprecated the default value is still "ON". So you will explicitly have to put

magic_quotes_gpc = Off

into your php.ini. Commeting out the magic_quotes_gpc-line will not turn magic_quotes_gpc off.
up
-10
Anonymous
7 months ago
The max_input_vars limit can be overcome by reading the input in raw, i.e.:
<?php
  $sRawInputData
= fopen( 'php://input' );
?>
To Top