3. Fejezet. Konfiguráció

Tartalom
A konfigurációs fájl

A konfigurációs fájl

A konfigurációs fájlt (PHP 3.0-ban php3.ini, de PHP 4.0-ban már php.ini) a PHP induláskor olvassa be. A szerver modul verzióban ez csak egyszer történik meg, amikor a szerver elindul. A CGI verzióban ez minden meghíváskor megtörténik.

Ha a PHP-t Apache modulként használod, akkor a beállításokat az Apache konfigurációs fájljának direktíváival és .htaccess fájlokkal is megváltoztathatod.

PHP 3.0 esetén minden php3.ini beállításhoz létezik egy megfelelő Apache direktíva, amely "php3_"-al kezdődik.

PHP 4.0 esetén azonban csak néhány Apache direktíva létezik, amivel a PHP beállításait közvetlenül a httpd.conf Apache konfigurációs állományban változtathatod meg.

php_value név érték

A megadott változó értékét határozza meg.

php_flag név on|off

Egy igen-nem (ki-be) választást állít be (on vagy off).

php_admin_value név érték

A megadott változó értékét határozza meg. Az "admin" konfiguárciós beállítások csak a fő Apache konfigurációs fájlokban állíthatóak, a .htaccess fájlokban nem.

php_admin_flag név on|off

Egy igen-nem (ki-be) választást állít be (on vagy off).

A konfigurációs beállításokat lekérheted a phpinfo()-val. Egyenkénti elérést biztosít a beállításokhoz a get_cfg_var().

Általános célú beállítások

allow_url_fopen on|off

Ez a beállítás engedélyezi az URL-felismerő fopen kódot, ami lehetőséged ad arra, hogy URL címeket úgy nyithass meg, mint fájlokat. Az alapbeállítású URL értelmezők távoli fájlok elérésére szolgálnak az FTP és HTTP protokollokkal. Néhány egyéb kiterjesztés, mint például a zlib más értelmezőt is beépíthet.

Megjegyzés: Ez a lehetőség közvetlenül a 4.0.3-as PHP kiadás után került a nyelvbe. A PHP 4.0.3 és azelőtti verziókban csak fordításidőben lehet letiltani ezt a funkciót a --disable-url-fopen-wrapper beállítással.

asp_tags on|off

Engedélyezi az ASP stílusú <% %> tag-ek használatát a hagyományos <?php ?> mellett. Ez a beállítás engedélyezi az érték kiíró rövidítést is (<%= $valtozo %>). További információért nézd meg az Escape szekvencia HTML-ben című részt.

Megjegyzés: Az ASP stílusú tag-ek használata a 3.0.4-es verzió óta lehetséges.

auto_append_file string

Megadja a fájl nevét, amit majd automatikusan minden dokumentum végére illeszt. A beillesztés úgy történik, mintha az include() függvényt használnád, tehát az include_path használatos a kereséséhez.

A none speciális érték megtiltja az automatikus hozzáfűzést.

Megjegyzés: Ha egy szkriptből exit(), segítségével lépsz ki, a hozzáfűzés nem működik.

auto_prepend_file string

Megadja a fájl nevét, amit majd automatikusan minden dokumentum elejére illeszt. A beillesztés úgy történik, mintha az include() függvényt használnád, tehát az include_path használatos a kereséséhez.

A none speciális érték megtiltja az automatikus hozzáfűzést.

cgi_ext string

display_errors on|off

Meghatározza, hogy a hibaüzenetek a HTML fájl részeként a képernyőre kerüljenek, vagy sem.

doc_root string

A PHP "gyökérkönyvtára" a szerveren. A PHP csak akkor használja, ha itt megadtál valamit. Ha a PHP-t safe mode-ban használod, semmilyen fájlt nem dolgoz fel, ami ezen a könyvtáron kívül van.

engine on|off

Igazán csak a PHP Apache modul verziójában hasznos. Olyan site-okon jöhet jól, ahol a PHP feldolgozását könyvtáranként vagy virtuális szerverenként szeretnék állítani. Ha a httpd.conf fájl megfelelő helyén beírod, hogy engine off, a PHP-t kikapcsolhatod.

error_log string

A fájl neve, ahol a szkriptek hibaüzenetei tárolásra kerülnek. Ha a syslog speciális értéket adod meg, akkor az üzenetek rendszer log-ba kerülnek. UNIX alatt ez a syslog(3)-at jelenti, Windows NT-n az event log-ot. Ez a paraméter Windows 95 alatt nem támogatott.

error_reporting egész szám

Beállítja a hibajelzési szintet. A paraméter egy egész szám, ami egy bitmezőt reprezentál. Add az alábbi értékek közül össze azokat, amikről hibát szeretnél kapni, és azt a számot alkalmazd paraméterként.

Táblázat 3-1. Hibajelentési szintek

értékengedélyezett hibajelzés
1normál hibák
2normál figyelmeztetések (warnings)
4feldolgozási hibák
8nem kritikus, stílussal kapcsolatos figyelmeztetések
Az alapérték 7 (normál hibák, normál figyelmeztetések és feldolgozási hibák jelennek meg).

html_errors boolean

Megadja, hogy legyenek-e a hibaüzenetekben HTML elemek.

open_basedir string

Meghatározza, hogy a PHP hol nyithat meg fájlokat a könyvtárfában.

Ha egy szkript megpróbál megnyitni egy fájlt (pl. fopen-el vagy gzopen-el), a fájl helye ellenőrzésre kerül. Ha a fájl kívül esik a megadott könyvtárból nyíló directory-fán, a PHP nem fogja megnyitni. Minden szimbolikus link feloldásra kerül, így egy symlink-kel nem lehet megkerülni ezt a korlátozást.

A . (pont) speciális érték azt jelzi, hogy a szkriptet tartalmazó könyvtárat kell alapkönyvtárnak tekinteni.

Windows alatt a több különböző könyvtárat pontosvesszővel elválasztva adhatod meg. Minden más rendszeren a megadott könyvtárakat kettősponttal kell elválasztani. Apache modul esetén az open_basedir elérési utak az egy szinttel feljebb lévő könyvtárból automatikusan öröklődnek.

Megjegyzés: Több könyvtár megadása a 3.0.7-es verzió óta lehetséges.

Alapbeállításban a PHP semmilyen fájl megnyitását sem tiltja le.

gpc_order string

Beállítja a GET/POST/COOKIE sorrendet a változók létrehozásához. Az alapbeállítású érték "GPC". Ha például ezt "GP"-re írod át, a PHP figyelmen kívül fogja hagyni a cookie-kat, és ha van egy POST és egy GET értéked ugyanazzal a névvel, a PHP a POST értéket teszi be a név által megadott változóba.

ignore_user_abort string

Alapbeállításban "On". Ha kikapcsolod, a szkriptek leállnak, amikor megpróbálnak küldeni a kliensnek valamit, miután a kliens lezárta a kapcsolat. ignore_user_abort().

include_path string

Egy könyvtárlistát határoz meg, ahol a require(), include() és fopen_with_path() függvények a fájlokat keresik. A formátum a rendszer PATH környezeti változójának formátumával egyező: egy könyvtárlista kettőspontokkal elválasztva UNIX alatt, pontosvesszővel Windows alatt.

Példa 3-1. UNIX include_path


include_path=.:/home/httpd/php-lib

Példa 3-2. Windows include_path


include_path=".;c:\www\phplib"

Alapbeállítású érték a . (pont), azaz csak a szkript könyvtára.

isapi_ext string

log_errors on|off

Megadja, hogy a szkript hibaüzenetek a szerver error logjába is bekerüljenek-e vagy sem. Mindenesetre ez egy szerverfüggő beállítás!

magic_quotes_gpc on|off

Beállítja a "magic_quotes" állapotot a GPC (Get/Post/Cookie) műveletekhez. Ha bekapcsolod, minden ' (egyszeres idézőjel), " (kétszeres idézőjel), \ (backslash) és NUL elé egy backslash (\) kerül automatikusan. Ha a "magic_quotes_sybase" szintén be van kapcsolva, az egyszeres idézőjel elé egyszeres idézőjel kerül backslash helyett.

magic_quotes_runtime on|off

Ha a magic_quotes_runtime be van kapcsolva, a legtöbb függvény, ami külső forrásból ad vissza adatokat (beleértve adatbázisokat és szöveges fájlokat), az idézőjeleket elé backslash-t tesz. Ha a magic_quotes_sybase szintén ba van kapcsolva, az egyszere idézőjel elé egyszeres idézőjel kerül backslash helyett.

magic_quotes_sybase on|off

Ha a magic_quotes_sybase be van kapcsolva, minden egyszeres idézőjel elé egyszeres idézőjel kerül backslash helyett, ha a magic_quotes_gpc vagy a magic_quotes_runtime bekapcsolt állapotban van.

max_execution_time egész szám

Előírja a szkriptek számára a maximális futásidőt, másodpercekben mérve. Ha ezt az időt eléri a szkript, automatikusan megszakad a futás. Ez segíthet megvédeni a szervert a rosszul megírt, nagy erőforrásigényű szkriptektől. Az alapbeállítás 30 másodperc.

A maximum futási időbe nem számítanak be a rendszerhívások, a sleep() függvény, stb. Lásd a set_time_limit() függvény leírását további részletekért.

memory_limit egész szám

Megadja, hogy maximálisan hány byte memóriát foglalhat le egy szkript. Ez segíthet megvédeni a szervert a rosszul megírt szkriptektől, amik megehetik a szerver összes memóriáját.

nsapi_ext string

register_globals on|off

Megadja, hogy az EGPCS (Environment, GET, POST, Cookie, Server) változók létrehozásra kerüljenek-e, mint globális változók. Ha nem szeretnéd, hogy mindenféle zűrös változók jöjjenek létre a globális változóid között, kapcsold ki ezt az opciót. Ez akkor jön a legjobban, ha a track_vars szolgáltatással együtt használod, amivel elérheted a EGPCS különböző változókat a $HTTP_ENV_VARS, $HTTP_GET_VARS, $HTTP_POST_VARS, $HTTP_COOKIE_VARS, és $HTTP_SERVER_VARS asszociatív globális tömbökkel.

short_open_tag on|off

Megadja, hogy használható-e a rövid PHP escape forma (<? ?>) a szkriptek írásakor. Ha a PHP-t az XML mellett használod, ki kell ezt kapcsolnod, és a hosszab formát kell alkalmaznod (<?php ?>).

sql.safe_mode on|off

track_errors on|off

Ha engedélyezed, a legutóbbi hibaüzenet mindig ott lesz a $php_errormsg globális változóban.

track_vars on|off

Ha bekapcsolod, a környezeti (Environment), a GET, POST, Cookie és Server változók a $HTTP_ENV_VARS, $HTTP_GET_VARS, $HTTP_POST_VARS, $HTTP_COOKIE_VARS, és $HTTP_SERVER_VARS globális asszociatív tömbökbe kerülnek értelemszerűen.

A PHP 4.0.3 és újabb verziókban a track_vars mindig be van kapcsolva.

upload_tmp_dir string

Ebbe az ideiglenes könyvtárba fogja a PHP elmenteni a weben feltöltött fájlokat. Írhatónak kell lennie a felhasználó számára, ami alatt a PHP fut.

upload_max_filesize integer

Egy feltöltött file maximális mérete. Az érték byte-okban van megadva.

user_dir string

Annak a könyvtárnak a neve a felhasználók home könyvtárában, ahol a PHP fájlok vannak, például public_html.

warn_plus_overloading on|off

Ha engedélyezed, a PHP figyelmeztetést (warning) fog kiadni, ha a plusz +) operátort használja egy szkript string-ekhez. Ez ezért jó, mert így könnyebb megtalálni az újraírandó szkripteket, hogy a szövegösszefűzés operátort (.) használják inkább.

Levelezés beállítási lehetőségei

SMTP string

A DNS neve vagy IP címe annak az SMTP szervernek, amit a PHP Windows alatt a mail küldésre használ, amikor a mail() függvényt hívod meg.

sendmail_from string

Megadja, hogy milyen "From:" email címet használjon a PHP mail küldésekor Windows alatt.

sendmail_path string

Megadja, hogy hol található a sendmail program. Ez általában /usr/sbin/sendmail vagy /usr/lib/sendmail. A configure megpróbálja megtalálni, és beállítani, de ha ez nem sikerül, itt te is beállíthatod.

Azokon a rendszereken, ahol nem a sendmail használatos, ez a beállítás a sendmail wrapper/helyettesítő beállítására szolgál, ha van ilyen. Például a Qmail használók általában a /var/qmail/bin/sendmail beállítást használják.

Safe Mode beállítási lehetőségek

safe_mode on|off

Ki/bekapcsolja a PHP "safe mode" funkcióját. Lásd még a Biztonság című fejezetet.

safe_mode_exec_dir string

Ha a PHP-t "safe mode"-ban használod, a system() és más külső program futtatók el fogják utasítani az itt megadott könyvtáron kívüli programok futtatását.

A debugger beállítási lehetőségei

debugger.host string

A DNS név vagy IP cím, amit a debugger használ.

debugger.port string

A portszám, amit a debugger használ.

debugger.enabled on|off

A debugger engedélyezése.

Kiterjesztés-betöltés beállítási lehetőségei

enable_dl on|off

Ez a beállítás igazán csak az Apache modulban hasznos. Be tudod vele állítani, hogy a dl() függvény használható legyen-e az egyes virtuális szervereken vagy könyvtárakban.

A fő indoka, hogy ezt kikapcsold a biztonság. Dinamikus betöltéssel ki lehet kerülni minden safe_mode és open_basedir megkötést.

Alapbeállításban engedélyezett a dinamikus betöltés, kivéve safe-mode-ban. Safe-mode-ban soha nem lehet használni a dl() függvényt!

extension_dir string

Az a könyvtár, ahol a dinamikusan betölthető kiterjesztések vannak.

extension string

Mely dinamikusan betölthető kiterjesztés legyen már a PHP indulásakor alapbeállításban betöltve.

MySQL beállítási lehetőségek

mysql.allow_persistent on|off

Meghatározza, hogy létrejöhet-e állandó (persistent) MySQL kapcsolat.

mysql.default_host string

Alapbeállítású host, ha a szkript írója nem ad meg semmit amikor egy MySQL szerverhez csatlakozik.

mysql.default_user string

Alapbeállítású felhasználói név, ha a szkript írója nem ad meg semmit amikor egy MySQL szerverhez csatlakozik.

mysql.default_password string

Alapbeállítású jelszó, ha a szkript írója nem ad meg semmit amikor egy MySQL szerverhez csatlakozik.

mysql.max_persistent egész szám

Az állandó (persistent) MySQL kapcsolatok maximális száma process-enként.

mysql.max_links egész szám

A MySQL kapcsolatok maximális száma process-enként, beleértve az állandó (persistent) kapcsolatokat is.

mSQL beállítási lehetőségek

msql.allow_persistent on|off

Meghatározza, hogy létrejöhet-e állandó (persistent) mSQL kapcsolat.

msql.max_persistent egész szám

Az állandó (persistent) mSQL kapcsolatok maximális száma process-enként.

msql.max_links egész szám

Az mSQL kapcsolatok maximális száma process-enként, beleértve az állandó (persistent) kapcsolatokat is.

Postgres beállítási lehetőségek

pgsql.allow_persistent on|off

Meghatározza, hogy létrejöhet-e állandó (persistent) Postgres kapcsolat.

pgsql.max_persistent egész szám

Az állandó (persistent) Postgres kapcsolatok maximális száma process-enként.

pgsql.max_links egész szám

A Postgres kapcsolatok maximális száma process-enként, beleértve az állandó (persistent) kapcsolatokat is.

SESAM beállítási lehetőségek

sesam_oml string

A BS2000 PLAM library nevét állítja be, ami a betöltendő SESAM driver modulokat tartalmazza. Ez szükséges a SESAM függvények működéséhez. A BS2000 PLAM library mindenképpen ACCESS=READ,SHARE=YES beállításokkal kell rendelkezzen, mivel az apache felhasználójának kell tudni olvasni azt.

sesam_configfile string

A SESAM beállításokat tartalmaó fájl neve. Ez szükséges a SESAM függvények működéséhez. A BS2000 fájl legyen olvasható az apache felhasználó számára is.

A beállításokat tartalmazó fájl általában a következőket tartalmazza (lásd a SESAM kézikönyvet):


CNF=B
NAM=K
NOTYPE

sesam_messagecatalog string

A SESAM üzenet fájl neve. A legtöbb esetben ez a beállítás szükségtelen. Ha a SESAM üzenet fájl nincs telepítve, a rendszer BS2000 üzenet fájl táblájában, ezzel a direktívával beállítható.

Az üzenet katalógus fájl ACCESS=READ,SHARE=YES beállításokkal kell rendelkezzen, hogy az apache is tudja olvasni azt.

Sybase beállítási lehetőségek

sybase.allow_persistent on|off

Meghatározza, hogy létrejöhet-e állandó (persistent) Sybase kapcsolat.

sybase.max_persistent egész szám

Az állandó (persistent) Sybase kapcsolatok maximális száma process-enként.

sybase.max_links egész szám

A Sybase kapcsolatok maximális száma process-enként, beleértve az állandó (persistent) kapcsolatokat is.

Sybase-CT beállítási lehetőségek

sybct.allow_persistent on|off

Meghatározza, hogy létrejöhet-e állandó (persistent) Sybase-CT kapcsolat. Alapbeállításban engedélyezett.

sybct.max_persistent egész szám

Az állandó (persistent) Sybase-CT kapcsolatok maximális száma process-enként. Alapbeállításban -1, ami azt jelenti, hogy nincs korlát.

sybct.max_links egész szám

A Sybase-CT kapcsolatok maximális száma process-enként, beleértve az állandó (persistent) kapcsolatokat is. Alapbeállításban -1, ami azt jelenti, hogy nincs korlát.

sybct.min_server_severity egész szám

Azok a szerver üzenetek, amik ezzel megegyező vagy nagyobb fontossággal rendelkeznek, figyelmeztetésként (warning) jelennek meg. Ez az érték szkriptből is módosítható a sybase_min_server_severity() függvényyel. Alapbeállításban 10, ami az jelenti, hogy "information severity" és afölötti értékekkel rendelkező üzenetek hibát generálnak.

sybct.min_client_severity egész szám

Azok a kliens üzenetek, amik ezzel megegyező vagy nagyobb fontossággal rendelkeznek, figyelmeztetésként (warning) jelennek meg. Ez az érték szkriptből is módosítható a sybase_min_client_severity()függvénnyel. Alapbeállításban 10, ami gyakorlatilag kikapcsolja az ilyen üzeneteket.

sybct.login_timeout egész szám

A maximális idő (másodpercben), amit a kapcsolódási kérés befejezésére várni kell, mielőtt hiba a visszatérési érték. Fontos, hogy ha a max_execution_time értéket eléri a szkript, amikor a kapcsolati kísérlet kifut az időből, a szkript le fog állni, mielőtt a létre nem jött kapcsolat miatt elvégzendő feladatokat teljesítené! Az alapbeállítás egy perc.

sybct.timeout egész szám

A maximális idő (másodpercben), amit a select_db kérés befejezésére várni kell, mielőtt hiba a visszatérési érték. Fontos, hogy ha a max_execution_time értéket eléri a szkript, amikor a select_db kísérlet kifut az időből, a szkript le fog állni, mielőtt a létre nem jött választás miatt elvégzendő feladatokat teljesítené! Alapbeállításban nincs ilyen korlát.

sybct.hostname string

A host neve ahonnan csatlakozni szeretnél. Ezt jeleníti meg az sp_who. Nincs alapbeállítású értéke.

Informix beállítási lehetőségek

ifx.allow_persistent on|off

Meghatározza, hogy létrejöhet-e állandó (persistent) Informix kapcsolat.

ifx.max_persistent egész szám

Az állandó (persistent) Informix kapcsolatok maximális száma process-enként.

ifx.max_links egész szám

Az Informix kapcsolatok maximális száma process-enként, beleértve az állandó (persistent) kapcsolatokat.

ifx.default_host string

Alapbeállítású host, ha a szkript írója nem ad meg semmit az ifx_connect() vagy ifx_pconnect() paramétereként.

ifx.default_user string

Alapbeállítású felhasználói azonosító, ha a szkript írója nem ad meg semmit az ifx_connect() vagy ifx_pconnect() paramétereként.

ifx.default_password string

Alapbeállítású jelszó, ha a szkript írója nem ad meg semmit az ifx_connect() vagy ifx_pconnect() paramétereként.

ifx.blobinfile on|off

Állítsd igazra, ha blob oszlopokat egy fájlban szeretnéd visszakapni, hamisra, ha a memóriában. Ezt a beállítást felülbírálhatod futásidőben az ifx_blobinfile_mode()-al.

ifx.textasvarchar on|off

Állítsd igazra, ha a TEXT oszlopokat normál string-ként szeretnéd visszakapni select kérésekben, hamisra, ha ha blob id paramétereket használsz inkább. Ezt a beállítást felülbírálhatod futásidőben az ifx_textasvarchar()-al.

ifx.byteasvarchar on|off

Állítsd igazra, ha a BYTE oszlopokat normál string-ként szeretnéd visszakapni select kérésekben, hamisra, ha blob id paramétereket használsz inkább. Ezt a beállítást felülbírálhatod futásidőben az ifx_textasvarchar()-al.

ifx.charasvarchar on|off

Állítsd igazra, ha nem szeretnéd visszakapni a CHAR oszlopok záró szóközeit.

ifx.nullformat on|off

Állítsd igazra, ha a NULL oszlopokat a "NULL" string-ként szeretnéd megkapni select kérésekben, hamisra, ha üres stringként (""). Ezt a beállítást felülbírálhatod futásidőben az ifx_nullformat()-al.

Muli-Byte String beállítási lehetőségek

mbstring.internal_encoding string

Az mbstring.internal_encoding az alapbeállítású belső karakterkódolást adja meg.

mbstring.http_input string

Az mbstring.http_input az alapbeállítású HTTP bemeneti karakterkódolást adja meg.

mbstring.http_output string

Az mbstring.http_output az alapbeállítású HTTP kimeneti karakterkódolást adja meg.

mbstring.detect_order string

Az mbstring.detect_order az alapbeállítású karakterkódolás detektálási sorrendet adja meg.

mbstring.substitute_character string

Az mbstring.substitute_character az ismeretlen kódú karakterek helyettesítő karakterét adja meg.

BC Math beállítási lehetőségek

bcmath.scale egész szám

A decimális számjegyek száma a bcmath függvények számára.

Böngésző-képességek beállítási lehetőségei

browscap string

A böngészők képességeit tartalmazó fájl neve. Lásd még: get_browser().

Unified ODBC beállítási lehetőségek

uodbc.default_db string

Alapbeállítású ODBC adatforrás, ha a szkript írója nem ad meg semmit a odbc_connect() vagy odbc_pconnect() paramétereként.

uodbc.default_user string

Alapbeállítású felhasználói név, ha a szkript írója nem ad meg semmit az odbc_connect() vagy odbc_pconnect() paramétereként.

uodbc.default_pw string

Alapbeállítású jelszó, ha a szkript írója nem ad meg semmit az odbc_connect() vagy odbc_pconnect() paramétereként.

uodbc.allow_persistent on|off

Meghatározza, hogy létrejöhet-e állandó (persistent) ODBC kapcsolat.

uodbc.max_persistent egész szám

Az állandó (persistent) ODBC kapcsolatok maximális száma process-enként.

uodbc.max_links egész szám

Az ODBC kapcsolatok maximális száma process-enként, beleértve az állandó (persistent) kapcsolatokat is.