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. INI_ALL
, INI_PERDIR
veya 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 INI_ALL
ve 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_value
yö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 INI_ALL
ve 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, INI_USER
türü değişebilir yapılandırma değerleri bu yolla atanabilir, INI_PERDIR
değerleri atanamaz, çünkü bu yapılandırma değerleri her istekte yeniden okunur.
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.