Ha az XAMPP megfelelően telepítve van, a http://localhost/xampp/phpinfo.php címen alapvető információkat tudhatunk meg az Apache, PHP és egyéb konfigurációról. Ha távoli tárhelyszolgáltatót használunk, akkor célszerű pl. egy i.php nevű állományt létrehozni a következő tartalommal, és FTP-vel feltölteni a tárhely gyökér (vagy public_html) könyvtárába:

<?php phpinfo() ?>

Természetesen a használat után töröljük a szerverről ezt az állományt.

Ekkor a böngészőben a http://azendomainem.hu/i.php címen ugyanezeket az információkat láthatjuk:

A phpinfo() eredménye (részlet)

Igen sok hasznos információt találhatunk, de most legérdekesebb a számunkra az ábra utolsó sora. Ebben látszik, hogy hol található a php.ini állomány, amelyet a PHP konfigurálásához szerkesztenünk kell.

A php.ini nem az egyetlen, de a legfontosabb konfigurációs lehetőségünk. Nézzük meg néhány kezdő sorát:

[PHP]

;;;;;;;;;;;
; WARNING ;
;;;;;;;;;;;
; This is the default settings file for new PHP installations.
; By default, PHP installs itself with a configuration suitable for
; development purposes, and *NOT* for production purposes.
; For several security-oriented considerations that should be taken
; before going online with your site, please consult php.ini-recommended
; and http://php.net/manual/en/security.php.

Jól látszik, hogy itt a ; jelzi a megjegyzéseket, részletes dokumentációt pedig a http://php.net/manual/en/security.php címen találhatunk.

Az állomány néhány beállítása következik, itt is változó-szerű szintaxissal.

short_open_tag

A short_open_tag meghatározza, hogy a <?php kezdő karaktersorozat helyett használható-e a <? is. Egy esetleges jövőbeli költözés miatt érdemes inkább a mindenhol használható hosszabb szintaxist alkalmazni, tehát nem építeni erre a beállításra.

short_open_tag = On

safe_mode

A safe_mode egy próbálkozás a PHP futtatókörnyezet egyes biztonsági problémáinak kiküszöbölésére. Ha megoldható, kapcsoljuk ki:

safe_mode = Off

disable_functions

A disable_functions sorral megadhatjuk, hogy melyik PHP függvények ne legyenek elérhetőek a futó PHP kód számára. Tárhelyszolgáltatók előszeretettel alkalmazzák, biztonsági okokra hivatkozva. Egyes esetekben tiltani szokták pl. a show_source, system, shell_exec, passthru, exec, phpinfo, popen, proc_open függvényeket.

max_execution_time

A max_execution_time beállítása meghatározza, hogy meddig futhat a PHP kódunk. Ha ezt az időkeretet túllépjük, a futás meg lesz szakítva. Tipikus a 30-60 másodperc körüli beállítás:

max_execution_time = 60

memory_limit

A memory_limit beállítása meghatározza, hogy mennyi memóriát használhat maximálisan a PHP értelmező a kódunk futtatásához. Ha ezt túllépjük, a futás meg lesz szakítva. Tipikus a 32-256Mb körüli beállítás:

memory_limit = 32M

error_reporting

Az error_reporting beállítás azt befolyásolja, hogy milyen jellegű hibaüzeneteket fogunk a böngészőben látni a kódunk futása közben. Fejlesztés közben érdemes mindent bekapcsolni:

error_reporting  =  E_ALL & ~E_NOTICE

Élő környezetben viszont inkább kapcsoljuk ki a publikus hibaüzeneteket, és inkább a log fájlokat figyeljük.

post_max_size és upload_max_filesize

A post_max_size az egyetlen kéréskor, POST metódussal küldött maximálisan elfogadható adatmennyiséget írja le. Az upload_max_filesize egyetlen feltöltendő állomány maximális méretét határozza meg. Az alapbeállítások:

post_max_size = 64M
upload_max_filesize = 64M

A két érték között van ugyan kapcsolat, de azért nem triviális. Pl. egy több állomány feltöltését lehetővé tevő űrlap esetén lehet, hogy állományonként csak 8Mb-ot engedélyezünk, de összességében egy 32MB-os korlátot is szabunk:

post_max_size = 32M
upload_max_filesize = 8M

extension_dir és extension

Az extension_dir megadja, hogy hol találhatóak a PHP-hez telepített beépülő csomagok.

extension_dir = "C:\xampp\php\ext"

Az extension-ök a betöltendő beépülőket adja meg. Néhány gyakori beépülő:

extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mysql.dll
session.save_path és session.auto_start

A session.save_path beállítása a munkamenetek tárolására szolgáló állományok helyét határozza meg. A session.auto_start a munkamenetek automatikus indítását tiltja le a következő kódban:

session.save_path = "C:\xampp\tmp"
session.auto_start = 0