Server-CGI/Commandline
Standardmäßig wird PHP als ein CGI Programm kompiliert. Dies erstellt
einen Kommandozeileninterpreter, welcher für CGI Processing oder für
nicht webbezogene PHP Skripte verwendet werden kann. Haben Sie einen
Webserver im Einsatz für welchen PHP eine Modulunterstützung bietet,
sollten sie aus Performancegründen dieses Modul verwenden. Die CGI
Version ermöglicht Apache Usern, verschiedene PHP Seiten unter
verschiedenen User-IDs laufen zu lassen. Bitte lesen Sie das Kapitel
Sicherheit, wenn Sie PHP als CGI
verwenden.
Seit PHP 4.3.0 wurden PHP einige wichtige Dinge hinzugefügt. Es gibt
ein neues SAPI, CLI genannt, welches den selben Namen trägt wie das CGI
Programm. Was in /bin/php installiert ist,
ist von Ihrer 'Configure'-Zeile abhängig. Eine detaillierte Beschreibung
dazu finden Sie im Abschnitt Using
PHP from the command line.
Testen
Wenn Sie PHP als CGI Programm erstellt haben, können Sie Ihren Build
mittels make test testen, was generell eine gute
Idee ist. Damit können Sie ein eventuelles Problem mit PHP auf Ihrer
Plattform erkennen, bevor Sie später damit zu kämpfen haben.
Benchmarking
Haben Sie PHP 3 als CGI Programm erstellt, können Sie Ihren Build mit
make bench bewerten. Beachten Sie, dass wenn safe mode
standardmäßig aktiviert ist, der Benchmark nicht fertiggestellt werden kann,
sollte dieser länger als die erlaubten 30 Sekunden dauern. Der Grund dafür
liegt in der Tatsache, dass set_time_limit() in safe mode
nicht benutzt werden kann. Verwenden Sie die Konfigurationsoption max_execution_time, um diese Zeit
für Ihre eigenen Skripte einzustellen. make bench
ignoriert die Konfigurationsdatei.
Anmerkung:
make bench ist nur in PHP 3 verfügbar.
Variablen verwenden
Manche vom Server zur Verfügung gestellten Umgebungsvariablen sind nicht
der aktuellen CGI/1.1 Spezifikation
enthalten. Nur die folgenden Variablen sind dort definiert, alles andere
sollte als 'Anbieterspezifisch' betrachtet werden: 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 und SERVER_SOFTWARE