Forum und email

Konfigurációs beállítások megváltoztatása

PHP Apache modulként

Ha a PHP-t Apache modulként futtatod, a konfigurációs beállításokat az Apache konfugirációs fájljaiban (httpd.conf) és a .htaccess fájlokban elhelyezett direktívákkal is elvégezheted. Ehhez szükséged lesz "AllowOverride Options" vagy "AllowOverride All" jogosultságra.

A PHP 4 és PHP 5 esetében számos Apache direktíva létezik, amely lehetővé teszi, hogy megváltoztasd a PHP konfigurációt az Apache konfigurációs fájljaiból. Ahhoz hogy megtudd, mely direktívák tartoznak a PHP_INI_ALL, PHP_INI_PERDIR, vagy PHP_INI_SYSTEM kategóriákba, nézd meg a php.ini directivákat felsoroló függeléket

Note: A PHP 3 esetén, vannak olyan Apache direktívák, amelyek megfelelnek a php3.ini-ben szereplő direktívák neveinek, annyiban különböznek, hogy a nevek a "php3_" előtaggal vannak ellátva.

php_value név érték

Beállítja a megadott direktíva értékét. Hasznlálható PHP_INI_ALL és PHP_INI_PERDIR típusú direktívák esetén. Ha egy előzőleg beállított értéket szeretnél törölni, használd értékként a none-t.

Note: Ne használd a php_value -t logikai értékek beállítására, helyette a php_flag -et használhatod (lásd alább).

php_flag név on|off

Logikai konfigurációs direktíva beállítására szolgál. Csak PHP_INI_ALL és PHP_INI_PERDIR típusú direktívák esetén alkalmazható.

php_admin_value név érték

Beállítja az adott direkítíva értékét. Ez nem használható .htaccess fájlokban. A php_admin_value -val beállított direktívák nem bírálhatóak felül .htaccess vagy virtualhost direktívákkal. Egy előzőleg beállított érték törlésére használd értékként a none-t.

php_admin_flag név on|off

Logikai konfigurációs direktíva beállítására szolgál. Ez nem használható .htaccess fájlokban. A php_admin_flag beállított direktívák nem bírálhatóak felül .htaccess vagy virtualhost direktívákkal.

Example#1 Példa Apache konfigurációra

<IfModule mod_php5.c>
  php_value include_path ".:/usr/local/lib/php"
  php_admin_flag safe_mode on
</IfModule>
<IfModule mod_php4.c>
  php_value include_path ".:/usr/local/lib/php"
  php_admin_flag safe_mode on
</IfModule>
<IfModule mod_php3.c>
  php3_include_path ".:/usr/local/lib/php"
  php3_safe_mode on
</IfModule>

Caution

A PHP konstanson nem léteznek PHP-n kívül. A httpd.conf-ban például nem használhatsz PHP konstansokat, mint például az E_ALL vagy E_NOTICE, az error_reporting direktíva beállításához, mivel azoknak nem lesz értelme, ezért 0-nak értékelődnek ki. Ehellyett használd a megfelelő bitmaszk értékeket. Ezek a konstansok php.ini-ben használhatóak.

A PHP konfiguráció megváltoztatása a Windows registry segítségével

Ha a PHP-t Windows-on futtatod, a konfigurációs értékek megváltoztathatóak könyvtáranként a Windows registry használatával. A konfigurációs értékek a HKLM\SOFTWARE\PHP\Per Directory Values registry kulcsban vannak tárolva a könyvtáraknak megfelelő alkulcsokban. A c:\inetpub\wwwroot könyvtár konfigurációs értékei a HKLM\SOFTWARE\PHP\Per Directory Values\c\inetpub\wwwroot kulcsban lesznek tárolva. A könyvtár beállításai érvényesek lesznek minden olyan szkriptre ami az adott könyvtárban, vagy annak bármely alkönyvtárában található. Egy kulcs alatt szereplő érték neve egy PHP konfigurációs direktíva nev kell legyen, az érték pedig a string. Az értékekben szereplő PHP konstansok nem lesznek értelmezve. Csak PHP_INI_USER konfigurációs értékek állíthatók be ily módon, PHP_INI_PERDIR értékek nem.

Egyéb interfészek a PHP-hez

Attól függetlenül, hogyan futtatod a PHP, bizonyos értékeket a szkripted futásidejében is megváltoztathatsz az ini_set() függvénnyel. További információért lásd az ini_set() függvény dokumentációját.

Ha szeretnéd megtudni a rendszer teljes konfigurációs beállításainak listáját érékekkel együtt, hívd meg a phpinfo() függvényt és vizsgáld a kapott oldalt. Az sajátos konfigurációs direktívák értékét futásidőben a ini_get() vagy a get_cfg_var() függvény segítségével állapíthatod meg.