Sandardmäßig wird PHP als CLI und CGI Programm kompiliert. Sollte Ihr Webserver die Möglichkeit der Einbindung als Modul besitzen, dann sollten Sie generell diese Option bevorzugen. CGI Versionen bieten jedoch den Vorteil verschiedenen Usern verschiedene PHP Versionen zu bieten.
Wenn Sie das CGI-Setup verwenden, ist Ihr Server für einige mögliche Angriffe anfällig. Wie Sie sich vor diesen Angriffen schützen können, entnehmen Sie bitte dem Kapitel über CGI-Sicherheit.
Wenn Sie PHP als CGI Programm kompiliert haben, dann können Sie Ihren Build mit make test überprüfen. Es ist generell eine gute Idee Ihren Build zu testen. Auf diesem Weg können sie Fehler frühzeitig erkennen statt durch diese später Schwierigkeiten zu bekommen.
Einige vom Server bereitgestellte Variablen sind nicht in der aktuellen » CGI/1.1 Spezifikation spezifiziert.. Nur die folgenden Variablen sind hier definiert: 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, and SERVER_SOFTWARE. Everything else should be treated as 'vendor extensions'.