PHP  
downloads | documentation | faq | getting help | | php.net sites | links 
search for in the  
previousProblems?Sicherheitnext
Last updated: Sun, 09 Jun 2002
view this page in Plain HTML | English | Brazilian Portuguese | Czech | Dutch | Finnish | French | Hungarian | Italian | Japanese | Korean | Polish | Romanian | Russian | Spanish | Turkish

Kapitel 3. Konfiguration

Inhaltsverzeichnis
Die Konfigurationsdatei

Die Konfigurationsdatei

Die Konfigurationsdatei (php3.ini in PHP 3.0.x, und php.ini in PHP 4.0) wird geladen, wenn PHP gestartet wird. Wurde PHP als Modul in den Webserver einkompiliert, dann geschieht dies nur, wenn der Server gestartet wird. Ist PHP als CGI-Version konfiguriert worden, geschieht es bei jedem Aufruf.

Wenn Sie PHP in der Modul-Variante benutzen, k�nnen Sie die Konfigurationseinstellungen auch mittels der Apache-Konfigurations- datei bzw. mittels .htaccess-Dateien �ndern.

Bei PHP 3.0.x existieren Apache-Anweisungen, die mit jeder Konfigurationseinstellung der php3.ini korrespondieren, ausgenommen Einstellungen mit dem Prefix "php3_".

Bei PHP 4.0 gibt es nur noch wenige Apache-Anweisungen, die es Ihnen erlauben, die Konfigurationseinstellungen zu �ndern.

php_value name value

Dieses setzt den Wert der spezifizierten Variablen.

php_flag name on|off

Dieser Schalter wird benutzt, um die Boolean-Konfigurations- Option zu aktivieren.

php_admin_value name value

Dieser Wert setzt den Wert der spezifischen Variablen. "Admin"-Konfigurationseinstellungen k�nnen nur innerhalb der Haupt-Konfigurationsdatei des Apache gesetzt werden, nicht etwa �ber eine .htaccess Datei.

php_admin_flag name on|off

Dieser Schalter wird benutzt, um die Boolean-Konfigurations-Option zu aktivieren. ("Admin")

Die Konfigurationseinstellungen k�nnen Sie in der Ausgabe der phpinfo() Datei einsehen. Ebenfalls k�nnen Sie Zugang zu den individuellen Konfigurationseinstellungen �ber get_cfg_var() bekommen.

Allgemeine Konfigurationseinstellungen

asp_tags boolean

Dieser Schalter aktiviert die Unterst�tzung von ASP <% %> Tags als Erweiterung zu den �blichen <?php ?> Tags. Dieses beinhaltet auch die Kurzform der Variablenausgabe <%= $value %>. Weitere Informationen finden Sie hier: Escaping from HTML.

Anmerkung: Die Unterst�tzung f�r ASP-Tags wurde in Version 3.0.4 hinzugef�gt.

auto_append_file string

Hier k�nnen Sie eine Datei angeben, die automatisch nach der Haupt-Datei aufgerufen wird. Die Datei wird in die aufgerufene Datei eingebettet, als wenn Sie sie mittels der include() Funktion eingebunden h�tten, dabei wird ein gesetzter include_path beachtet.

Der Wert none deaktiviert auto-appending.

Anmerkung: Wird das Skript mit der Funktion exit()beendet, wird auto-append nicht aktiv.

auto_prepend_file string

Hier k�nnen Sie eine Datei angeben, die automatisch vor der Hauptdatei aufgerufen wird. Die Datei wird in die aufgerufene Datei eingebettet, als wenn Sie sie mittels der include() Funktion eingebunden h�tten, dabei wird ein gesetzter include_path beachtet.

Der Wert none deaktiviert auto-prepending.

cgi_ext string

display_errors boolean

Dieser Wert mu� "on" sein, damit Fehlermeldungen an die Konsole (Prompt oder Browser) gesendet werden k�nnen.

doc_root string

Hier wird das Stammverzeichnis der PHP-Skripte eingegeben. �blicherweise handelt es sich hier um das DocumentRoot des Servers (Apache: htdocs) Diese Angabe wird nur benutzt, wenn sie einen Wert enth�lt. Wenn PHP mit safe mode konfiguriert wurde, werden alle PHP-Skripte au�erhalb dieses Directorys ignoriert.

engine boolean

Diese Option ist in erster Linie nur sinnvoll, wenn PHP als Modul in den Apache einkompiliert wurde. Sie wird von Seiten benutzt, die den PHP-Parser f�r bestimmte Verzeichnisse oder virtuelle Server aus- bzw. einschalten wollen. Wenn Sie engine off in den daf�r vorgesehenen Bl�cken in der httpd.conf Datei benutzen, kann PHP aktiviert bzw. deaktiviert werden.

error_log string

Hier k�nnen Sie die Datei angeben, in der Skript-Fehler protokolliert werden sollen. Wenn Sie statt eines Dateinamens syslog eintragen, wird stattdessen das Ereignisprotokoll von WindowsNT genutzt. Auf UNIX Systemen syslog(3) verwendet. Windows 95/98 unterst�tzen dieses nicht.

error_reporting integer

Hier k�nnen Sie die Genauigkeit der Fehlermeldungen einstellen. Der eingetragene Wert ist ein Bitwert, und wird als Summe folgender Werte des Error Reporting Levels gebildet:

Tabelle 3-1. Error Reporting Levels

bit valueAktivierte Protokollierung
1Normale Fehler
2Normale Warnungen
4Fehler des Parsers, meistens Syntaxfehler
8Unkritische Warnungen, die ignoriert werden k�nnen. Sinnvoll in der Entwicklungsphase.
Standardwert ist hier 7 (normale Fehler, normale Warnungen, Fehler des Parsers werden angezeigt).

open_basedir string

Beschr�nkt die Dateien, die von PHP ge�ffnet werden k�nnen, auf Dateien im angegebenen Verzeichnisbaum.

Wenn ein Skript versucht, eine Datei mit z.B. fopen oder gzopen zu �ffnen, wird der Ort der Datei �berpr�ft. Wenn sich die Datei au�erhalb des spezifizierten Verzeichnisses befindet, wird PHP sie nicht �ffnen. Alle symbolischen Links sind hier mit eingeschlossen, so dass es auch nicht m�glich ist, dieses Verbot mittels symlink zu umgehen.

Der Wert . gibt an, dass das Verzeichnis, in dem das Skript abgespeichert ist, als Basis-Verzeichnis genutzt wird.

Unter Windows werden Verzeichnisse mit Semikolon getrennt, unter allen anderen Betriebssystemen mit einem Doppelpunkt. Wenn PHP als Modul in den Apache einkompiliert wurde, werden open_basedir paths von "Eltern"-Verzeichnissen nun automatisch vererbt.

Anmerkung: Die Unterst�tzung f�r multiple Verzeichnisse wurde in Version 3.0.7 hinzugef�gt.

Die Standardeinstellung ist, alle Dateien zum Parsen freizugeben.

gpc_order string

Legt die Auswertungsreihenfolge f�r GET/POST/COOKIE Variablen fest. Die Standardeinstellung ist GPC. Wenn Sie diesen Wert auf z.B."GP" setzen, ignoriert PHP Cookies, und wird jede GET Methoden Variable mit POST Methoden Variablen des gleichen Namens �berschreiben.

ignore_user_abort string

Standardm��ig auf ON. Wenn Sie diese Einstellung auf OFF setzen, werden PHP-Skripte beendet, sobald sie versuchen, eine Ausgabe zu erzeugen, nachdem der Client die Verbindung beendet hat. ignore_user_abort().

include_path string

Hier k�nnen Sie ein Verzeichnis angeben, in dem die require(), include() und fopen_with_path() Funktionen nach Dateien suchen. Das Format ist �hnlich der PATH Umgebungsvariablen des jeweiligen Systems: Eine Liste von Verzeichnissen, getrennt durch einen Doppelpunkt bei UNIX oder ein Semikolon bei WINDOWS.

Beispiel 3-1. UNIX include_path

include_path=.:/home/httpd/php-lib

Beispiel 3-2. Windows include_path

include_path=".;c:\www\phplib"
Der Standardwert f�r diese Option ist . (nur das aktuelle Verzeichnis).

isapi_ext string

log_errors boolean

Dieser Schalter entscheidet, ob Skript-Fehler im Fehler-Logfile des Servers protokolliert werden sollen. Diese Option ist also Server-spezifisch.

magic_quotes_gpc boolean

Dieser Schalter setzt den magic_quotes-Zustand f�r GPC (GET/POST/COOKIE) -Operationen. Wenn magic_quotes auf ON steht, werden automatisch alle ' (single-quote), " (double quote), \ (backslash) und NUL's mit einem Backslash versehen. Wenn auch magic_quotes_sybase auf ON steht, wird ein single-quote mit einem weiteren single-quote anstatt eines Backslashs versehen.

magic_quotes_runtime boolean

Wenn der Schalter magic_quotes_runtimeaktiviert ist, werden Anf�hrungszeichen der meisten Funktionen, welche Daten aus jeglicher Art von externer Quelle, eingeschlossen Datenbanken und Textdateien, zur�ckgeben, mit einem Backslash versehen. Wenn auch der Schalter magic_quotes_sybase aktiviert ist, wird ein einfaches Anf�hrungszeichen mit einem einfachen Anf�hrungszeichen anstatt eines Backslashes versehen.

magic_quotes_sybase boolean

Wenn der Schalter magic_quotes_sybasezus�tzlich zu magic_quotes_gpc oder magic_quotes_runtime aktiviert ist, werden einfache Anf�hrungszeichen mit einfachen Anf�hrungszeichen anstatt eines Backslashs versehen.

max_execution_time integer

Dieser Wert gibt die maximale Ausf�hrungsl�nge eines Skriptes in Sekunden an, bevor es vom Parser abgebrochen wird. Dieses soll Abst�rzen des Servers durch schlecht geschriebene oder falsche Skripte vorbeugen. Bei komplexen Datenbankabfragen sollte man jedoch bedenken, dass der Standardwert unter Umst�nden zu klein sein kann.

memory_limit integer

Dieser Wert gibt den maximal erlaubten Speicherplatzverbrauch eines PHP-Skriptes an. Diese Einstellung soll den Server vor Speicherverschwendung durch schlecht programmierte Skripte bewahren.

nsapi_ext string

register_globals boolean

Dieser Schalter bestimmt, ob die EGPCS-Variablen (Environment, GET, POST, Cookie, Server) als globale Variablen registriert werden oder nicht. Sie sollten dies ausschalten, wenn der globale Bereich Ihrer Skripte nicht durch Benutzerdaten gest�rt werden soll. Diese Einstellung ist insbesondere dann sinnvoll, wenn sie mit track_vars verwendet wird. In diesem Fall k�nnen alle EGPCS-Variablen durch $HTTP_ENV_VARS, $HTTP_GET_VARS, $HTTP_POST_VARS, $HTTP_COOKIE_VARS und $HTTP_SERVER_VARS angespochen werden.

short_open_tag boolean

Gibt an, ob die Kurzform (<? ?> eines �ffnenden PHP-Tags erlaubt ist. Wenn Sie PHP in Kombination mit XML nutzen, m�ssen Sie diese Option deaktivieren. Wenn Sie die Option deaktiviert haben, m�ssen Sie die Langform des �ffnenden Tags (<?php ?>)verwenden.

sql.safe_mode boolean

track_errors boolean

Wenn diese Option aktiviert ist, wird der letzte Fehler immer in der globalen Variablen $php_errormsg abgelegt.

track_vars boolean

Wenn dieser Schalter aktiviert ist, werden GET-, POST- und Cookie-Werte in den Umgebungsvariablen-Arrays $HTTP_GET_VARS, $HTTP_POST_VARS und $HTTP_COOKIE_VARS abgelegt.

upload_tmp_dir string

Hier wird das tempor�re Verzeichnis angegeben, in welchem Dateien gespeichert werden, die mittels file upload auf den Server geladen werden. Dieses Verzeichnis muss schreibbar sein.

user_dir string

Wenn Sie PHP f�r User hosten, dann k�nnen pers�nliche Verzeichnisse der Art ~username angelegt werden. Der Wert user_dir zeigt auf das Stammverzeichnis, unter dem diese Nutzerverzeichnisse liegen. z.B. public_html.

warn_plus_overloading boolean

Wenn dieser Schalter aktiviert ist, gibt PHP eine Warnung aus, wenn der Plus-Operator (+) anstatt des Punkt-Operators (.) f�r die String-Verkettung benutzt wurde.

Mail-Konfigurationsdirektiven

SMTP string

Dieser Wert muss nur in der Windows-Umgebung gesetzt werden. Hier wird der DNS-Name oder die IP-Adresse des SMTP-Servers eingetragen, �ber den Mails mit der Funktion mail() verschickt werden sollen.

sendmail_from string

Hier k�nnen Sie den Absender der Emails eintragen, wenn Sie von Windows aus Emails verschicken wollen.

sendmail_path string

Hier geben Sie den Pfad zum sendmail Programm an. F�r gew�hnlich ist dies /usr/sbin/sendmail oder /usr/lib/sendmail. configure versucht zwar den Pfad zum sendmail Programm selbstst�ndig herauszufinden, aber f�r den Fall, dass dieses nicht funktioniert, k�nnen Sie den Pfad hier eintragen.

Auf Systemen, wo Sendmail nicht benutzt wird, sollten Sie diesen Pfad auf den Sendmail-Ersatz -wenn vorhanden- setzen. Zum Beispiel: -Benutzer k�nnen den Pfad normalerweise wie folgt setzen: /var/qmail/bin/sendmail.

Safe Mode-Konfigurationsdirektiven

safe_mode boolean

Wenn Sie diesen Schalter auf ON setzen, betreiben Sie PHP im sicheren Modus. Mehr dazu erfahren Sie im Kapitel Sicherheit

safe_mode_exec_dir string

Wenn Sie PHP im sicheren Modus betreiben, werden die Funktion system() und andere Funktionen, die Systemprogramme ausf�hren, nicht gestartet, wenn Sie sich nicht in diesem Verzeichnis befinden.

Debugger-Konfigurationsdirektiven

debugger.host string

DNS-Name oder IP-Adresse des Hosts, der vom Debugger benutzt wird.

debugger.port string

Portnummer, die vom Debugger benutzt wird.

debugger.enabled boolean

Hier k�nnen Sie den Debugger aktivieren bzw. deaktivieren.

Extension Loading-Direktiven

enable_dl boolean

Diese Option ist eigentlich nur sinnvoll, wenn Sie PHP als Apache-Modul benutzen. Dann k�nnen Sie das "Einladen" der dynamischen PHP-Extensionen mit der Funktion dl() f�r einzelne virtuelle Server oder Verzeichnisse aktivieren bzw. deaktivieren.

Der Hauptgrund, das dynamische Laden von Extensionen zu deaktivieren, ist Sicherheit. Wenn die Option aktiviert ist, ist es m�glich, Restriktionen durch safe_mode und open_basedir zu umgehen.

Standardm��ig wird das dynamische Laden erlaubt, au�er wenn Sie PHP im safe_mode betreiben. Im safe_mode ist es nie m�glich, die Funktion dl() zu benutzen.

extension_dir string

Hier geben Sie das Verzeichnis an, in dem PHP dynamisch zu ladende Extensionen findet.

extension string

Hier geben Sie an, welche Extensionen geladen werden sollen, wenn PHP gestartet wird.

mSQL-Konfigurationsdirektiven

msql.allow_persistent boolean

Erlaubt persistente mSQL-Verbindungen.

msql.max_persistent integer

Hier geben Sie die maximal erlaubte Anzahl persistenter mSQL-Verbindungen pro Prozess an.

msql.max_links integer

Hier geben Sie die maximale Anzahl der Verbindungen pro Prozess an (persistente und normale).

PostgreSQL-Konfigurationsdirektiven

pgsql.allow_persistent boolean

Erlaubt persistente PostgreSQL-Verbindungen.

pgsql.max_persistent integer

Hier geben Sie die maximal erlaubte Anzahl persistenter PostgreSQL-Verbindungen pro Prozess an.

pgsql.max_links integer

Hier geben Sie die maximale Anzahl der Verbindungen pro Prozess an (persistente und normale).

SESAM Konfigurationsdirektiven

sesam_oml string

Name der BS2000 PLAM-Bibliothek, die die ladbaren SESAM Treibermodule enth�lt. Diese Direktive ist obligatorisch, anderenfalls wird die SESAM Funktionalit�t deaktiviert. SESAM functions. Die angegebene BS2000 PLAM-Bibliothek muss durch Setzen von ACCESS=READ,SHARE=YES lesbar gemacht werden, da unter der Apache Server User-Id auf sie zugegriffen wird.

sesam_configfile string

Name der SESAM Applikations-Konfigurationsdatei. Diese Direktive ist obligatorisch, anderenfalls wird die SESAM Funktionalit�t deaktiviert. Die angegebene BS2000-Datei muss f�r die Apache Server-Kennung lesbar sein.

Gew�hnlich enth�lt die Applikations-Konfigurationsdatei Konfigurationsbefehle wie (siehe SESAM Referenzhandbuch):

CNF=B
NAM=K
NOTYPE

sesam_messagecatalog string

Name der SESAM Message-Katalogdatei. In den meisten F�llen ist die Angabe dieser Datei �berfl�ssig; lediglich wenn die Message-Katalogdatei nicht in der BS2000 Messagedatei-Tabelle eingetragen ist, kann sie explizit mit dieser Direktive gesetzt werden.

Die angegebene BS2000 Message-Katalogdatei muss durch Setzen von ACCESS=READ,SHARE=YES lesbar gemacht werden, da unter der Apache Server User-Id auf sie zugegriffen wird.

Sybase-Konfigurationsdirektiven

sybase.allow_persistent boolean

Erlaubt persistente Sybase-Verbindungen.

sybase.max_persistent integer

Hier geben Sie die maximal erlaubte Anzahl persistenter Sybase-Verbindungen pro Prozess an.

sybase.max_links integer

Hier geben Sie die maximale Anzahl der Verbindungen pro Prozess an (persistente und normale).

Sybase-CT-Konfigurationsdirektiven

sybct.allow_persistent boolean

Erlaubt persistente Sybase-CT Verbindungen. Standardwert ist ON.

sybct.max_persistent integer

Hier geben Sie die maximal erlaubte Anzahl persistenter Sybase-Verbindungen pro Prozess an. Der Standardwert ist -1 (unbegrenzt).

sybct.max_links integer

Hier geben Sie die maximale Anzahl der Verbindungen pro Prozess an (persistente und normale). Standardwert ist -1 (unbegrenzt).

sybct.min_server_severity integer

Server-Meldungen mit h�herem oder gleichem Gewicht als sybct.min_server_severity werden als Warnung ausgegeben. Dieser Wert kann auch in einem Skript mittels der sybase_min_server_severity() Funktion gesetzt werden. Standardwert ist 10, wodurch Fehler mit Informations-"Gewicht" oder h�her ausgegeben werden.

sybct.min_client_severity integer

Meldungen der Client-Library mit h�herem oder gleichem Gewicht als sybct.min_client_severity werden als Warnungen ausgegeben. Dieser Wert kann auch in einem Skript mit der Funktion sybase_min_client_severity() gesetzt werden. Der Standardwert ist hier 10, was eine Ausgabe im Endeffekt deaktiviert.

sybct.login_timeout integer

Hier k�nnen Sie die maximale Zeit in Sekunden angeben, die gewartet wird, bis eine Verbindung erfolgreich aufgebaut wurde (also bevor eine Fehlermeldung erscheint). Beachten Sie, dass wenn die max_execution_time f�r einen Verbindungsversuch vorbei ist, Ihr Skript beendet wird, bevor es eine Fehlermeldung (oder andere Aktion) ausgeben kann. Der Standardwert ist hier 1 Minute.

sybct.timeout integer

Hier k�nnen Sie die maximale Zeit in Sekunden angeben, die auf eine select_db oder andere DB-Query gewartet wird, bis eine Fehlermeldung erscheint. Beachten Sie, dass wenn die max_execution_time f�r eine DB-Query vorbei ist, Ihr Skript beendet wird, bevor es eine Fehlermeldung (oder andere Aktion) ausgeben kann. Der Standardwert ist hier unbegrenzt.

sybct.hostname string

Hier k�nnen Sie den Host angeben, von dem die Verbindung ausgehen soll. Sie k�nnen diesen Wert mit sp_who anzeigen. Standardwert ist none.

Informix-Konfigurationsdirektiven

ifx.allow_persistent boolean

Erlaubt persistente Informix-Verbindungen.

ifx.max_persistent integer

Hier geben Sie die maximal erlaubte Anzahl persistenter Informix-Verbindungen pro Prozess an.

ifx.max_links integer

Hier geben Sie die maximale Anzahl der Verbindungen pro Prozess an (persistente und normale).

ifx.default_host string

Hier geben Sie den Standardhost f�r eine Verbindung ein, der benutzt wird, wenn kein anderer Host in ifx_connect() oder ifx_pconnect() angegeben wurde.

ifx.default_user string

Hier geben Sie den Standardbenutzer f�r eine Verbindung ein, der benutzt wird, wenn kein anderer Benutzer in ifx_connect() oder ifx_pconnect() angegeben wurde.

ifx.default_password string

Hier geben Sie das Standardpasswort f�r eine Verbindung ein, das benutzt wird, wenn kein anderes Passwort in ifx_connect() oder ifx_pconnect() angegeben wurde.

ifx.blobinfile boolean

Setzen Sie diesen Wert auf TRUE, wenn Sie BLOB-Felder in einer Datei zur�ckgegeben haben wollen, auf FALSE, wenn Sie sie im Speicher haben wollen. Diesen Eintrag k�nnen Sie mit ifx_blobinfile_mode() w�hrend der Ausf�hrung �berschreiben.

ifx.textasvarchar boolean

Setzen Sie diesen Wert auf TRUE, wenn Sie TEXT-Felder als normale Strings in SELECT-Anweisungen zur�ckgegeben haben wollen, auf FALSE, wenn Sie sie BLOB-ID Parameter benutzen wollen. Diesen Eintrag k�nnen Sie mit ifx_textasvarchar() w�hrend der Ausf�hrung �berschreiben.

ifx.byteasvarchar boolean

Setzen Sie diesen Wert auf TRUE, wenn Sie BYTE-Felder in SELECT-Abfragen als normale Strings zur�ckgeliefert haben wollen, auf FALSE, wenn Sie BLOB-ID Parameter benutzen wollen. Diesen Eintrag k�nnen Sie mit ifx_textasvarchar() w�hrend der Ausf�hrung �berschreiben.

ifx.charasvarchar boolean

Setzen Sie diesen Wert auf TRUE, wenn Sie nachfolgende Spaces von CHAR-Feldern bei der Abfrage abschneiden wollen.

ifx.nullformat boolean

Setzen Sie diesen Wert auf TRUE, wenn Sie NULL-Felder als String "NULL", bzw. auf FALSE, wenn Sie diese als leeren String "" zur�ckgeliefert haben wollen. Sie k�nnen diesen Wert w�hrend der Ausf�hrung mit der Funktion ifx_nullformat() �berschreiben.

BC Math-Konfigurationsdirektiven

bcmath.scale integer

Anzahl der Nachkommastellen der bcmath-Funktionen.

Browser Capability-Konfigurationsdirektiven

browscap string

Name der browser_capabilities-Datei. Mehr hier�ber erfahren Sie unter get_browser().

Unified ODBC-Konfigurationsdirektiven

uodbc.default_db string

ODBC Standarddatenquelle, die benutzt wird, wenn keine andere in odbc_connect() oder odbc_pconnect() angegeben wurde.

uodbc.default_user string

ODBC Standard-Benutzername, der benutzt wird, wenn kein anderer Benutzer in odbc_connect() oder odbc_pconnect() definiert wurde.

uodbc.default_pw string

ODBC Standardpasswort, das benutzt wird, wenn kein anderes Passwort in odbc_connect() oder odbc_pconnect() angegeben wurde.

uodbc.allow_persistent boolean

Erlaubt persistente ODBC-Verbindungen.

uodbc.max_persistent integer

Hier geben Sie die maximal erlaubte Anzahl persistenter ODBC-Verbindungen pro Prozess an.

uodbc.max_links integer

Hier geben Sie die maximal erlaubte Anzahl der ODBC-Verbindungen pro Prozess an (persistente und normale).

User Contributed Notes
Konfiguration
add a note about notes

08-Jan-1999 10:13

auto_prepend_file/auto_postpend_file use


According to Rasmus (8 jan 1999), these files are called even if there is no PHP code in the page. Thus, if you parse all pages through PHP (preferably not the CGI version!), you can use these to add headers, footers or HTTP header variables to ALL pages, or to log page accesses, or anything else, even with static HTML pages.


01-Feb-2000 04:19

If you're planning on using .htaccess files to control php_value and
php_flag, you *must* have AllowOverride Options set in your access.conf
file.


05-Feb-2001 06:03

Found setting Apache directives a little confusing and it took me some time
to work out so I have provided an example.  I only had problems with the
example below after upgrading to PHP4 so I think it is correct for PHP3.

PHP4
php_flag magic_quotes_gpc off

PHP3
php3_magic_quotes_gpc off

I placed this just after the AddType section for PHP4, in the httpd.conf
file, and it worked for me.


11-Feb-2001 06:40

Finally figured this out: if you are using server side includes (SSI) with
Apache, and have added a line

AddHandler server-parsed .html

in your httpd.conf file so that .html files can use SSI, this setting will
prevent

AddType application/x-httpd-php .php .html

from working (.php will work, but .html won't). From what I've figured out
so far, you need to dump SSI support for .html files if you want to get
PHP to work with .html files.  No loss since PHP duplicates the
functionality, I think. (Of course be aware that enabling PHP parsing of
.html files will make performance suffer somewhat, especially if most of
your files do not need PHP.)

Another thing I've learned is that even with all this talk of the php.ini
files, they are not even required unless you need to make adjustments. If
there is no php.ini file, the defaults will be used.


29-Nov-2001 04:08

If you want to specify the location of your php.ini file at runtime, set
the environment variable PHPRC equal to the directory in which php.ini is
located.  Note that the filename php.ini cannot be changed; just the
directory in which it's stored.


19-Dec-2001 05:44

the difference between using a ';' and a ':' in the paths more
likely has to do with the filesystem/OS, than a specific design 
feature of PHP:

on a windoze box:
C:\WINDOWS>echo %PATH%
C:\WINDOWS;C:\WINDOWS\COMMAND;...

on a *NIX box:
[rhornsby@x rhornsby]$ echo $PATH
/usr/bin:/bin:...


05-Mar-2002 06:57

Notes from Installing and Configuring PHP 4.0.6 on a Redhat 7.1/Apache
1.3.22 platform with virtual domains

Downloaded php-4.0.6-9.7.1.i386.rpm from Redhat.com

Ran rpm from virtual terminal (KDE's package manager wouldn't work right).
Included rpm option to --force installation over the previous PHP version
that came with Redhat distribution (but had never been enabled):

    rpm -i php-4.0.6-9.7.1.i386.rpm  --force  --includedocs

Edited httpd.conf to add (or uncomment) the following lines:

In Section 1 - Global environment:

    LoadModule php4_module  modules/libphp4.so
    AddModule mod_php4.c

In Section 2 - Main server configuration:

    AddType application/x-httpd-php .php

    <IfModule mod_php4.c>
      php_value include_path ".:/usr/lib/php"
      php_flag safe_mode on
    </IfModule>

(Note that, in the AddType directive above, the correct term is
x-httpd-php, not x-httpd-php4!)

Restarted httpd (service httpd restart).

PHP appears to be enabled for all my virtual domains.


23-Apr-2002 10:11

Variables that must be modified by php_admin_value/flag:
(grep'd from php 4.2.0)
bar
com.allow_dcom
com.autoregister_typelib
com.autoregister_verbose
com.autoregister_casesensitive
com.typelib_file
crack.default_dictionary
fbsql.allow_persistent
fbsql.generate_warnings
fbsql.autocommit
fbsql.max_persistent
fbsql.max_links
fbsql.max_connections
fbsql.max_results
fbsql.batchSize
fbsql.default_host
fbsql.default_user
fbsql.default_password
fbsql.default_database
fbsql.default_database_password
hyerwave.allow_persistent
ifx.allow_persistent
ifx.max_persistent
ifx.max_links
ifx.default_host
ifx.default_user
ifx.default_password
ingres.allow_persistent
ingres.max_persistent
ingres.max_links
ibase.allow_persistent
ibase.max_persistent
ibase.max_links
ldap.max_links
mbstring.func_overload
mssql.allow_persistent
mssql.max_persistent
mssql.max_links
mysql.allow_persistent
mysql.max_persistent
mysql.max_links
odbc.allow_persistent
odbc.max_persistent
odbc.max_links
odbc.check_persistent
pgsql.allow_persistent
pgsql.max_persistent
pgsql.max_links
pgsql.auto_reset_persistent
safe_mode_protected_env_vars
safe_mode_allowed_env_vars
sybct.allow_persistent
sybct.max_persistent
sybct.max_links
allow_call_time_pass_reference
asp_tags
enable_dl
expose_php
html_errors
xmlrpc_errors
implicit_flush
output_buffering
output_handler
safe_mode_include_dir
safe_mode_gid
short_open_tag
sql.safe_mode
arg_separator.input
doc_root
extension_dir
open_basedir
safe_mode_exec_dir
post_max_size
upload_tmp_dir
user_dir
browscap
sendmail_path
disable_functions
max_execution_time

26-Apr-2002 11:50
Note that the php_admin_flag is used for safe_mode.  For example:
<Location />
    php_admin_flag safe_mode on
</Location>


27-Apr-2002 09:40

Hello,

here is an example how to get old scripts compatible with the new release.

// Compatibility patch for < PHP 4.2
if (function_exists ("import_request_variables"))
{
 import_request_variables ("CGP","");

 $HTTP_GET_VARS = $_GET;
 $HTTP_POST_VARS = $_POST;
 $HTTP_COOKIE_VARS = $_COOKIE;
 $QUERY_STRING = $_SERVER["QUERY_STRING"];
 $PHP_SELF = $_SERVER["PHP_SELF"];
 $SERVER_NAME = $_SERVER["SERVER_NAME"];
 $REMOTE_ADDR = $_SERVER["REMOTE_ADDR"];
 $HTTP_X_FORWARDED_FOR = $_SERVER["HTTP_X_FORWARDED_FOR"];
 $HTTP_VIA = $_SERVER["HTTP_VIA"];
}

You may add or delete some of the vars above.


16-May-2002 03:35

Unlike Apache logs, the error_log is opened after the server is started, so
it must have the permissions the server runs as (usually nobody)


13-Jun-2002 09:56

I am a newcomer trying to learn and experiment with PHP and MYSQL.

I have installed PHP 4 and Apache 2 on Windows NT. I h

I followed the Instructions from Bob silva's Install text and still bmy
PHP tags are not working.

Can someone please tell me where is the best place to get the answers for
this kinda questions. Thanks!!


14-Jun-2002 09:17

Beware, magic_quotes_gpc  is evil !

The option may look very tempting at the first glance. However there are
some caveats:

  1. Most parameters do not go to a database.
In a web application most form field are used internally without the need
to store them in a database. Magic quotes  cause troubles in these cases.
Moreover the data passed to the application is not the data entered by the
user if it was processed by magic quotes. This is undesireable.

  2. Impedes code reuse.
If you feed data from either form parameters or internal data sources into
the same function then your function must know if the data was processed
by magic quotes or not.

  3. Bad surprises at deployment time and code portability.
If you do not carefully check if this parameter is set on your development
and production system you can run into troubles. Especially if you can not
change the settings on one system (because the hoster does not let you).

  4. Behaviour can not be controlled at script runtime.
The ini_set does not help in this case even though the parameter can be
modified at runtime the behaviour does not change. Consequently you are
bound to the php.ini settings (which may be not under your control).

I therefore request that this option be removed from future versions of
PHP and the default behaviour should be FALSE.

add a note about notes
previousProblems?Sicherheitnext
Last updated: Sun, 09 Jun 2002
show source | credits | stats | mirror sites:  
Copyright © 2001, 2002 The PHP Group
All rights reserved.
This mirror generously provided by:
Last updated: Thu Jun 27 20:17:47 2002 CEST