PHP'yi bir Apache modülü olarak kullanırken, yapılandırma ayarlarını Apache yapılandırma dosyalarındaki (httpd.conf ve .htaccess dosyaları) yönergeleri kullanarak da değiştirebilirsiniz. Bunu yapabilmek için Apache yapılandırmasında "AllowOverride Options" veya "AllowOverride All" olması gerekir.
PHP yapılandırmasını Apache yapılandırma dosyaları içinden
değiştirmenize imkan veren çeşitli Apache yönergeleri vardır.
PHP_INI_ALL,
PHP_INI_PERDIR
veya
PHP_INI_SYSTEM olarak belirtilebilen
yönergeleri eklerdeki php.ini yönergelerinin
listesi sayfasında bulabilirsiniz.
php_value
isim
değer
Belirtilen değeri ismi belirtilen yönergeye atar. Sadece
PHP_INI_ALL ve
PHP_INI_PERDIR türü yönergeler için
kullanılabilir. Önceki atanan değeri silmek için değer olarak
none kullanın.
Bilginize: Mantıksal değer atamak için
php_valueyönergesini değil,
php_flag(aşağıya bakınız) yönergesini kullanmalısınız.
php_flag
isim
on|off
Bir mantıksal yapılandırma yönergesi atamak için kullanılır. Sadece
PHP_INI_ALL ve
PHP_INI_PERDIR türü yönergeler için
kullanılabilir.
php_admin_value
isim
değer
İsmi belirtilen yönergeye belirtilen değeri atar. .htaccess dosyalarında kullanılamaz. Bu yönerge ile atanan hiçbir yönerge türü ini_set() veya .htaccess tarafından geçersiz kılınamaz. Önceki atanan değeri silmek için değer olarak none kullanın.
php_admin_flag
isim
on|off
Bir mantıksal yapılandırma yönergesi atamak için kullanılır. .htaccess dosyalarında kullanılamaz. Bu yönerge ile atanan hiçbir yönerge türü .htaccess veya ini_set() tarafından geçersiz kılınamaz.
Örnek 1 - Apache yapılandırma örneği
<IfModule mod_php5.c> php_value include_path ".:/usr/local/lib/php" php_admin_flag engine on </IfModule> <IfModule mod_php4.c> php_value include_path ".:/usr/local/lib/php" php_admin_flag engine on </IfModule>
PHP sabitleri PHP dışında mevcut değildir. Örneğin, httpd.conf
dosyasında error_reporting
yönergesine
E_ALL veya
E_NOTICE PHP sabitlerini atayamazsınız. Bunu
yaparsanız daima 0 olarak değerlendirileceklerdir. Sabitleri kullanmak
yerine bunların bit maskelerini kullanın. Bu sabitler php.ini içinde
kullanılabilir.
PHP, Windows üzerinde çalışırken, yapılandırma değerleri Windows kayıt
defteri kullanılarak her dizin için ayrı ayrı değiştirilebilir.
Yapılandırma değerleri defterde HKLM\SOFTWARE\PHP\Per
Directory Values anahtarının dizin isimlerine karşılık gelen
alt anahtarlarında saklanır. Örneğin,
c:\inetpub\wwwroot dizini için yapılandırma
değerleri HKLM\SOFTWARE\PHP\Per Directory
Values\c\inetpub\wwwroot anahtarında saklanır. Dizin ile
ilgili ayarlar, dizin içinde ve alt dizinlerde çalıştırılan her betik
için geçerli olur. Anahtar altındaki değerler PHP yapılandırma
yönergelerinin isimlerini ve dizge değerlerini içermelidir. Değerlerde
bulunan PHP sabitleri çözümlenmez. Sadece,
PHP_INI_USER türü değişebilir yapılandırma
değerleri bu yolla atanabilir,
PHP_INI_PERDIR
değerleri atanamaz.
PHP'yi nasıl çalıştırdığınızdan bağımsız olarak, belli değerleri betiğinizin çalışması sırasında ini_set() işlevi sayesinde değiştirebilirsiniz. Bu konuda daha ayrıntılı bilgi için ini_set() sayfasına bakınız.
Sistem yapılandırmanızla ilgili ayarlar ve mevcut değerleri ilginizi çekiyorsa phpinfo() işlevini çalıştırabilir ve elde ettiğiniz sayfayı inceleyebilirsiniz. Ayrıca, yapılandırma yönergelerinin her birine çalışma anında ini_get() veya get_cfg_var() işlevini kullanarak erişebilirsiniz.