Dieser Abschnitt wird Sie durch die Konfiguration und Installation von PHP führen. Erforderliche Kenntnisse und Software:
Grundlegende UNIX-Kenntnisse (Sie sollten in der Lage sein mit der make-Anweisung und einem C-Compiler umzugehen)
Einen ANSI C compiler
Einen Web Server
1. gunzip apache_1.3.x.tar.gz 2. tar xvf apache_1.3.x.tar 3. gunzip php-3.0.x.tar.gz 4. tar xvf php-3.0.x.tar 5. cd apache_1.3.x 6. ./configure --prefix=/www 7. cd ../php-3.0.x 8. ./configure --with-mysql --with-apache=../apache_1.3.x --enable-track-vars 9. make 10. make install 11. cd ../apache_1.3.x 12. ./configure --prefix=/www --activate-module=src/modules/php3/libphp3.a 13. make 14. make install Sie können aber auch alternativ zu oben beschriebenen Schritt einfach die httpd binary auf Ihre existierende Binary übertragen In jedem Fall sollte darauf geachtet werden, den Server vorher herunterzufahren. 15. cd ../php-3.0.x 16. cp php3.ini-dist /usr/local/lib/php3.ini Sie können nun die php.ini unter /usr/local/lib/php3.ini editieren, um Ihre gewünschten PHP-Optionen einzustellen. Wenn Sie die php.ini lieber in einem anderen Verzeichnis haben möchten, dann sollten Sie Sie in Schritt 8 --with-config-file-path=/path angeben. 17. Editieren Sie nun Ihre httpd.conf or srm.conf folgendermassen: AddType application/x-httpd-php3 .php3 Es bleibt Ihnen völlig freigestellt, welche File-Extension Sie hier benutzen. ".php3" wird von uns lediglich empfohlen. 18. Starten Sie den Apache Web Server. Sie müssen den Server starten und beenden, ein einfacher Reload mittels des HUP oder USR1 Signales ist nicht ausreichend. |
Es gibt zwei Möglichkeiten PHP zu konfigurieren.
Sie können das mitgelieferte "Setup"- Skript von PHP benutzen. Dieses Skript wird Ihnen eine handvoll Fragen stellen (ähnlich dem "Install"- Skript von PHP/FI 2.0) und am Ende "configure" ausführen. Um dieses Skript auszuführen, geben Sie ./setup ein.
Dieses Skript wird zusätzlich eine Datei namens "do-conf" erstellen, welches die Konfigurations-Optionen enthält, die "configure" übermittelt wurden. Um später noch änderungen in der Konfiguration vorzunehmen, können Sie einfach diese Datei editieren, ohne ein erneutes Setup ausführen zu müssen. Geben Sie hierzu ./do-conf ein, um PHP mit den neuen Optionen zu konfigurieren.
Die Alternative ist "configure" manuell auszuführen. Um zu sehen, welche Optionen "configure" bietet, geben Sie ./configure --help ein.
Details über einige der verschiedenen Konfiguratrions- Optionen sind weiter unten aufgeführt.
Um PHP als Modul in den Apache einzukompilieren, antworten Sie bitte "yes" auf die Frage "Build as an Apache module?" (die --with-apache=DIR option zu konfigurieren) und geben Sie das Stammverzeichnis der Apache Distribution an. Wenn Sie also die Apache Distribution in /usr/local/www/apache_1.2.4, entpackt haben, dann ist dieses Ihr Stammverzeichnis. Das Standart-Stammverzeichnis ist /usr/local/etc/httpd.
Um PHP als fhttpd Modul in den Apache einzukompilieren, antworten Sie "yes" auf die Frage "Build as an fhttpd module?" (die --with-fhttpd=DIR Option zu konfigurieren) und geben Sie das fhttpd source Stammverzeichnis an. Das Standartverzeichnis ist /usr/local/src/fhttpd. Wenn Sie fhttpd benutzen, wird PHP als Modul performanter und besser kontrollierbar und besitzt mehr Fähigkeiten zur Remote-Ausführung.
Standartmäßig wird PHP als CGI-Programm installiert. Wenn Sie einen Webserver betreiben, auf dem PHP Module unterstützt werden, dann sollten Sie diese Variante aus Performancegründen den Vorzug geben. Wie auch immer, die CGI-Variante erlaubt es dem Apache Benutzer, verschiedene PHP-unterstützte Seiten unter verschiedenen Benutzer ID's zu ermöglichen. Sie sollten jedoch daran denken, sich mit den Sicherheitseinstellungen im Security chapter vertraut zu machen, wenn Sie PHP in der CGI - Variante einsetzen wollen.
PHP unterstützt von Haus aus eine große Anzahl an Datenbanken (wie auch ODBC):
--with-adabas=DIR |
Kompiliert mit Adabas D Unterstützung. Parameter sind das Adabas D Installations-Verzeichnis. Standartmäßig ist dieses auf /usr/local/adabasd gesetzt.
--with-dbase |
Schaltet die Unterstützung für DBase ein. Externe Bibliotheken werden nicht benötigt.
--with-filepro |
Schaltet die Unterstützung für FilePro ein. Nur Lese- Unterstützung. Externe Bibliotheken werden nicht benötigt.
--with-msql=DIR |
Schaltet die Unterstützung für mSQL-Datenbanken ein. Das Parameter für diese Option ist das mSQL-Installations-Verzeichnis, standartmäßig unter /usr/local/Hughes . Dieses ist das Standartverzeichnis der mSQL2.0 Distribution. configure erkennt automatisch die Version von Ihrem mSQL, PHP unterstützt sowohl Version 1.0 wie auch 2.0 . Wenn Sie PHP mit mSQL 1.0 kompilieren, können Sie aber auch nur auf mSQL 1.0 zugreifen und vica versa.
See also mSQL Configuration Directives in the configuration file.
--with-mysql=DIR |
Aktiviert die die MySQL-Unterstützung. Als Parameter kann bei dieser Option das MySQL-Installationsverzeichnis angegeben werden. Standartmäßig ist dieses auf /usr/local gesetzt.
Siehe auch: MySQL Konfiguration Direktiven in der Konfigurations- Datei.
--with-iodbc=DIR |
Aktiviert die iODBC-Unterstützung. Dieses Merkmal wurde erstmals für den iODBC-Treiber-Manager entwickelt, ein frei verteilbarer ODBC-Treiber-Manager, der unter vielen UNIX-Derivaten läuft. Als Parameter zu dieser Option kann das iODBC-Installations-Verzeichnis angegeben werden. Standartmäßig ist dieses auf /usr/local gesetzt.
--with-openlink=DIR |
Aktiviert die OpenLink ODBC-Unterstützung. Als Parameter kann bei dieser Option das OpenLink ODBC Installations-Verzeichnis angegeben werden. Standartmäßig ist dieses auf /usr/local/openlink gesetzt.
--with-oracle=DIR |
Aktiviert die Oracle-Unterstützung. Diese Option wurde getestet, und sollte zumindest mit den Orcale-Versionen 7.0 bis 7.3 laufen. Als Parameter kann das ORACLE_HOME Verzeichnis angegeben werden. Sie müssen diesen Parameter aber nicht angeben, wenn die Oracle-Umgebung gesetzt wurde.
--with-pgsql=DIR |
Aktiviert die PostgresSQL-Unterstützung. Als Parameter kann bei dieser Option das PostgresSQL- Basisinstallationsverzeichnis angegeben werden. Standartmäßig ist dieses auf /usr/local/pgsql gesetzt.
Siehe auch: Postgres Konfiguration Direkiven in der Konfigurations- Datei.
--with-solid=DIR |
Aktiviert Solid-Unterstützung. Als Parameter kann das Solid Installationsverzeichnis angegeben werden. Standartmäßig ist dieses auf /usr/local/solid gesetzt.
--with-sybase=DIR |
Aktiviert Sybase-Unterstützung. Als Parameter kann das Sybase Installationsverzeichnis angegeben werden. Standartmäßig ist dieses auf /home/sybase gesetzt.
Siehe auch: Sybase Konfiguration Direktives in der Konfigurations- Datei.
--with-sybase-ct=DIR |
Aktiviert Sybase-CT Unterstützung. Als Parameter kann das Sybase-CT Installationsverzeichnis angegeben werden. Standartmäßig ist dieses auf /home/sybase gesetzt.
See also Sybase-CT Configuration Directives in the configuration file.
--with-velocis=DIR |
Aktiviert Velocis Unterstützung. Als Parameter kann das Velocis Installationsverzeichnis angegeben werden. Standartmäßig ist dieses auf /usr/local/velocis gesetzt.
--with-custom-odbc=DIR |
Aktiviert Unterstützung für eine benutzerdefinierte ODBC-Bibliothek. Als Parameter kann das Basisverzeichnis angegeben werden. Standartmäßig ist dieses auf /usr/local gesetzt.
Diese option verlangt, dass Sie zuvor eigene CUSTOM_ODBC_LIBS definiert haben, bevor Sie das Konfigurationsskript starten. Ebenfalls müssen Sie einen gültiger odbc.h Header irgendwo in in Ihrem Include-Pfad haben. Wenn Sie keinen haben, erstellen Sie ihn und schließen Sie diesen spezifischen Header mit ein. Ihr Header mag auch einige extra- Definitionen verlangen, besonders wenn es sich um eine Mehrbenutzer-Plattform handelt. Definieren Sie diese in CFLAGS.
Zum Beipspiel können Sie Sybase SQL überall auf QNX wie folgt benutzen: CFLAGS=-DODBC_QNX LDFLAGS=-lunix CUSTOM_ODBC_LIBS="-ldblib -lodbc" ./configure --with-custom-odbc=/usr/lib/sqlany50
--disable-unified-odbc |
Deaktiviert das "Unfified ODBC Modul", bei welchem es sich um ein allgemeines Interface für Datenbanken mit ODBC-Interfaces handelt (z.B. für Solid und Adabas D). Es arbeitet auch mit normalen ODBC-Bibliotheken zusammen. Es wurde getestet mit iODBC, Solid, Adabas D und Sybase SQL. Hierbei ist es erforderlich, dass eines (nur eines) dieser Module oder das Velocis Modul aktiviert sind, oder eine benutzerdefinierte ODBC-Bibliothek spzifiziert ist. Diese Option steht nur zur Verfügung, wenn eine der folgenden Parameter verwendet wurden: --with-iodbc, --with-solid, --with-adabas, --with-velocis, or --with-custom-odbc.
Siehe auch: Unified ODBC Konfiguration Direktiven in der Konfigurations Datei.
--with-ldap=DIR |
Aktiviert die LDAP (Lightweight Directory Access Protocol)Unterstützung. Als Parameter kann das LDAP Standart Installationsverzeichnis angegeben werden, welches standartmäßig auf /usr/local/ldap gesetzt ist.
Zusätzliche Informationen zu LDAP sind unter RFC1777 und RFC1778 verfügbar.
--with-mcrypt |
Aktiviert die Unterstützung für die mycrypt Bibliothek. Siehe auch mcrypt Dokumentation für weitere Informationen. Wenn Sie das optionale DIR Argument benutzen, wird PHP in DIR/include nach mycrypt.h suchen.
--enable-sysvsem |
Aktiviert die Unterstützung für Sys V Semaphores (wird von den meisten UNIX-Derivaten unterstüzt). Siehe auch Semaphore und Shared Memory Dokumentation für weitere Informationen.
--enable-sysvshm |
Aktiviert die Unterstützung für Sys V Shared Memory (wird von den meisten UNIX-Derivaten unterstützt). Siehe auch Semaphore und Shared Memory Dokumentation für weitere Informationen.
--with-xml |
Aktiviert die Unterstützung für einen "nicht-validierenden" XML-Parser auf Basis von James Clarks's expat library. Siehe auch XML Funktions-Referenz für mehr Details.
--enable-maintainer-mode |
Aktiviert Extra- Dependenzen und Compiler Warnungen, welche von einigen PHP Entwicklern benutzt werden.
--with-system-regex |
Benutzt mehr die System Bibliothek für Regular Expression als als die gebündelte. Wenn Sie PHP als Servermodul benutzten, müssen Sie die gleiche Bibliothek bei der Installtion von PHP wie beim Linking des Servers verwenden. Aktivieren Sie diese Option, wenn die System-Bibliothek Features beinhaltet, die Sie unbedingt benötigen. Es wird jedoch empfohlen, die beiliegende Bibliothek wenn möglich zu benutzen.
--with-config-file-path=DIR |
Mit dieser Option kann das Verzeichnis angegeben werden, in dem PHP nach der PHP.INI (Die Konfigurations Datei) sucht, wenn PHP gestartet wird.
--with-exec-dir=DIR |
Erlaubt die Ausführung von ausführbaren Dateien in einem Verzeichnis nur, wenn PHP im safe mode betrieben wird. Standartmäßig ist dieses Verzeichnis /usr/local/bin. Diese Option setzt den Pfad nur auf den Standartwert. Wenn dieser geändert werden soll, kann dieses mit der safe_mode_exec_dir Direktive in der Konfigurations Datei später geändert werden.
--enable-debug |
Aktiviert extra debug Informationen. Dieses ermöglicht es, genauere Informationen zu erhalten, wenn Probleme mit PHP auftreten. (Bedenken Sie, dass diese Option nichts mit Debugger-Fähigkeiten oder Informationen, die zu PHP-Skripten erhätlich sind, zu tun hat).
--enable-safe-mode |
Aktiviert "safe mode" standartmäßig. Diese Option zieht einige Restriktionen betreffend den Möglichkeiten von PHP nach sich, so z.B. das Öffnen von Dateien nur im DocumentRoot zu erlauben. Lesen Sie auch Security chapter für weitergehende Informationen. CGI-Benutzer sollten "safe mode" immer aktivieren. Diese Option setzt nur die standartmäßige Behandlung von PHP. Sie kann später per safe_mode Direktive in der Konfigurations Datei geändert werden.
--enable-track-vars |
Aktiviert PHP_TRACK_VARS. Ermöglicht PHP zu verfolgen, von wo GET/POST/COOKIES Variablen in den Arrays HTTP_GET_VARS, HTTP_POST_VARS und HTTP_COOKIE_VARS kommen. Diese Option setzt lediglich den Standartwert, welcher später mit der track_vars Direktive in der Konfigurations Datei aktiviert bzw. deaktiviert werden kann.
--enable-magic-quotes |
Aktiviert magic quotes. Diese Option setzt nur einen Standartwert. Die Option kann später mit der magic_quotes_runtime Direktive in der Konfigurations Datei aktiviert bzw. deaktiviert werden. Siehe auch die magic_quotes_gpc und die magic_quotes_sybase Direktiven.
--enable-debugger |
Aktiviert die interne PHP Debugger Unterstützung. Dieses Merkmal ist immer noch im Experimentier- Stadium. Siehe auch Debugger Konfiguration Direktiven in der Konfigurationsdatei.
--enable-discard-path |
Wenn diese Option aktiviert ist, kann die PHP CGI-Binär-Datei sicher ausserhalb des Web-Verzeichnisses plaziert werden, und niemand wird .htaccess-Sicherheit umgehen können. Lesen Sie die Sektion im Sicherheitskapitel über diese Option.
--enable-bcmath |
Aktiviert bc mathematische Funktionen zur Präzesion. Siehe auch bcmath.scale Option in der Konfigurationsdatei.
--enable-force-cgi-redirect |
Aktiviert den Sicherheits-Check für interne Server-Redirects. Sie sollten dieses Option aktivieren, wenn Sie die CGI-Version mit dem Apache benutzen.
Wenn Sie PHP als CGI Binärdatei benutzen, überprüft PHP selber zuerst immer, ob es als Redirekt benutzt wird (z.B. unter Apache mittels Action Direktiven). Dieses stellt sicher, dass PHP in dieser Variante nicht missbraucht werden kann, um Authentifizierungsmodelle des Webservers über direkte Aufrufe wie http://my.host/cgi-bin/php/secret/doc.html zu umgehen. Dieses Beispiel greift zwar auf http://my.host/secret/doc.html zu, aber berücksichtigt keine Sicherheitseinstellungen die durch die Directory-Einstellungen /secret in der httpd gesetzt wurden.
Wenn Sie diese option nicht aktivieren, erlauben Sie das Umgehen von httpd Sicherheits- und Authentifizierungs- Einstellungen. Tun Sie dieses nur, wenn Ihre Serversoftware nicht fähig ist, zu erkennen, ob ein sicherer Redirect erfolgt ist und alle ihre Dateien unterhalb des Document- Root und Benutzer-Verzeichnisse für jedermann zugänglich sein sollen / können.
Lesen Sie die Sektion im Sicherheits-Kapitel um mehr über diese option zu erfahren.
--disable-short-tags |
Deaktiviert die Kurzform <? ?> PHP Tags. Sie müssen diese Option deaktivieren, wenn Sie PHP im Zusammanhang mit XML benutzen wollen. Wenn Sie die Kurzform deaktiviert haben, ist die einzige gültige Syntax für PHP-Code-Tags <?php ?>. Diese Option setzt nur den Standartwert. Die Option kann später in der short_open_tag Direktive in der Konfigurationsdatei geändert werden.
--enable-url-includes |
Erlaubt es, Programme direkt von anderen HTTP- oder FTP- Servern mittels include() laufen zu lassen. Siehe auch include_path Option in der Konfigurationsdatei.
Um die PHP-Installation dazu zu veranlassen in verschiedenen Verzeichnissen für Header unf Bibliotheken zu suchen, modifizieren Sie die CPPFLAGS und LDFLAGS Umgebungsvariablen. Wenn Sie eine sensible shell benutzen, sollte es möglich sein folgendes zu tun: LDFLAGS=-L/my/lib/dir CPPFLAGS=-I/my/include/dir ./configure
Wenn PHP fertig konfiguriert ist, können Sie die CGI-ausführbare Datei oder PHP-Bibliothek gerstellen. Das Kommando make sollte das für Sie erledigen. Wenn dieser Weg fehlschlägt, und Sie nicht herausfinden können warum, schauen Sie hier nach Problem- Sektion.
Wenn Sie PHP als CGI-Programm gergestellt haben, können Sie das Programm mit make test testen. Es ist immer eine gute Idee, Ihr Programm zu testen. So können Sie ein Problem möglicherweise früher erkennen und beseitigen.
Wenn Sie PHP als CGI-Programm hergestellt haben, können Sie mit make bench ein Benchmark Test machen. Bedenken Sie, dass wenn der safe_mode standartmäßig aktiviert wurde, es sein kann, dass der Benchmark nicht fähig ist, den Benchmark zu vollenden, wenn der Vorgang länger als 30 Sekunden (die erlaubt sind) dauert. Dieses kommt daher, weil die Funktion set_time_limit() im safe_mode nicht benutzt werden kann. Benutzten Sie die max_execution_time Konfigurationseinstellungen um die Zeit für Ihre eigenen Skripte einzustellen. make bench ignoriert die Konfigurationsdatei.