Yapılandırma ayarlarının değiştirilmesi

PHP'nin bir Apache modülü olarak çalıştırılması

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_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 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>

Dikkat

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 yapılandırmasının Windows kayıt defteri üzerinden değiştirilmesi

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.

Diğer PHP arayüzleri

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.