CGI és parancssori verzió
AlapbeállÃtásban a PHP CGI programként fordul le. Ez létrehoz egy parancssorból használható értelmezÅ‘t, ami CGI feldolgozásra vagy nem webbel kapcsolatos PHP programozásra is használható. Ha egy olyan webszervert futtatsz, amelyhez a PHP modul szintű támogatással rendelkezik, akkor jobb teljesÃtmény eléréséhez használd inkább azt a módszert. A CGI verzió azonban lehetÅ‘vé teszi az Apache-ot használóknak, hogy más-más PHP oldalakat más-más user-id-kkel futtassanak.
Ha a PHP-t CGI felületen dolgoztatod, ez a szervereden bizonyos támadási felületeket nyit. Kérlek, olvasd el CGI biztonság fejezetünket, hogy megtudd, hogy tudod megvédeni magad ezen támadásokkal szemben.
As of PHP 4.3.0, some important additions have happened to PHP. A new SAPI named CLI also exists and it has the same name as the CGI binary. What is installed at {PREFIX}/bin/php depends on your configure line and this is described in detail in the manual section named Using PHP from the command line. For further details please read that section of the manual.
Tesztelés
Ha CGI programként fordÃtottad le a PHP-t, tesztelheted az eredményt azzal, hogy beÃrod make test. Mindig jól jön, ha leteszteled, mert Ãgy rögtön észlelhetsz olyan problémákat, amik esetleg csak késÅ‘bb bukkantak volna fel.
Szintmérés (benchmarking)
Ha CGI programként fordÃtottad le a PHP 3-at, tesztelheted a sebességét azzal, hogy beÃrod a make bench parancsot. Ha a be van kapcsolva, talán nem fog jól lefutni a benchmark, a megengedett 30 másodperc alatt. Ez azért van, mert a set_time_limit() nem használható safe mode-ban. Használd a max_execution_time konfigurációs beállÃtást, hogy megadhasd ezt az idÅ‘t a szkriptjeidnek. A make bench nem veszi figyelembe a konfigurációs fájlt.
Note: A make bench csak a PHP 3-ban érhető el.
Változók használata
Egyes szerver által biztosÃtott környezeti változók nincsenek a jelenlegi » CGI/1.1 specifikációban definiálva. Csak a következÅ‘ változók vannak itt definiálva: AUTH_TYPE, CONTENT_LENGTH, CONTENT_TYPE, GATEWAY_INTERFACE, PATH_INFO, PATH_TRANSLATED, QUERY_STRING, REMOTE_ADDR, REMOTE_HOST, REMOTE_IDENT, REMOTE_USER, REQUEST_METHOD, SCRIPT_NAME, SERVER_NAME, SERVER_PORT, SERVER_PROTOCOL, és SERVER_SOFTWARE. Minden más 'gyártó kiterjesztésnek' minÅ‘sül.