The manual states above:
<<<
The default is to allow dynamic loading, except when using safe mode. In safe mode, it's always impossible to use dl().
>>>
...however, on the manual page for dl(), it states:
<<<
Note: dl() is not supported in multithreaded Web servers. Use the extensions statement in your php.ini when operating under such an environment. However, the CGI and CLI build are not affected !
Note: As of PHP 5, the dl() function is deprecated in every SAPI except CLI. Use Extension Loading Directives method instead.
Note: Since PHP 6 this function is disabled in all SAPIs, except CLI, CGI and embed.
>>>
CXXII. PHP Optionen & Informationen
Einführung
Diese Funktionen erlauben es Ihnen eine Menge an nützlichen Informationen über PHP selber zu erhalten, z.B. Konfiguration zur Laufzeit, geladene Erweiterungen, Angaben zur Version und vieles mehr. Sie werden auch Funktionen finden, die es Ihnen erlauben, für Ihr laufendes PHP Optionen zu setzten. Die vermutlich bekannteste Funktion von PHP - phpinfo() - finden Sie hier.
Anforderungen
Diese Erweiterung benötigt keine externen Bibliotheken.
Installation
Für diese Funktionen ist keine Installation erforderlich, diese gehören zum Grundbestand von PHP.
Laufzeit Konfiguration
Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.
Tabelle 216. Konfigurationsoptionen für PHP Optionen/Info
| Name | Standard | Veränderbar |
|---|---|---|
| assert.active | "1" | PHP_INI_ALL |
| assert.bail | "0" | PHP_INI_ALL |
| assert.warning | "1" | PHP_INI_ALL |
| assert.callback | NULL | PHP_INI_ALL |
| assert.quiet_eval | "0" | PHP_INI_ALL |
| enable_dl | "1" | PHP_INI_SYSTEM |
| max_execution_time | "30" | PHP_INI_ALL |
| max_input_time | "60" | PHP_INI_ALL |
| magic_quotes_gpc | "1" | PHP_INI_PERDIR|PHP_INI_SYSTEM |
| magic_quotes_runtime | "0" | PHP_INI_ALL |
Weitere Details und die Definition der PHP_INI_* Konstanten sind unter ini_set() zu finden.
Hier eine kurze Erklärung der Konfigurationsoptionen:
- assert.active boolean
Aktiviert assert() Auswertung.
- assert.bail boolean
Beendet die Ausführung eines Skripts bei fehlgeschlagener Aussage.
- assert.warning boolean
Erzeugt ein PHP warning für jede fehlgeschlagene Aussage.
- assert.callback string
Benutzerdefinierte Funktion, die bei fehlgeschlagenen Aussagen ausgeführt wird.
- assert.quiet_eval boolean
Benutzt die aktuelle Einstellung von error_reporting() während der Überprüfung eines Ausdrucks einer Aussage. Ist diese Einstellung aktiviert, werden wähhrend der Überprüfung keine Fehler angezeigt (implizit error_reporting(0)). Falls deaktiviert, werden Fehler entsprechend der Einstellung von error_reporting() angezeigt.
- enable_dl boolean
Sie können das dynamische Laden von PHP Erweiterungen mittels dl() für virtuelle Server oder per Verzeichnis an- und abschalten.
Der Hauptgrund dynmisches Laden abzustellen sind Sicherheitsüberlegungen. Mit dynamischen Laden ist es möglich, alle open_basedir Einschränkungen zu umgehen. Standard ist es, dynamisches Laden zu erlauben, außer wenn Sie den Safe Mode benutzen. Im Safe Mode ist es nicht möglich dl() zu benutzen.
- max_execution_time integer
Legt die maximale Zeit in Sekunden fest, die ein Skript laufen darf, bevor der Parser die Ausführung stoppt. Diese Einstellung hilft zu verhindern, dass schlampig geschriebene Skripte Ihren Server lahmlegen. Der Standardwert für diese Einstellung ist 30 Sekunden.
Die maximale Ausführungszeit beeinhaltet keine Systemaufrufe, Stream Operationen, usw. Weitere Details finden Sie bei der set_time_limit() Funktion.
Bei aktiviertem Safe Mode können Sie diese Einstellung nicht mit ini_set() verändern. Die einzige Möglichkeit diese Beschränkung zu umgehen besteht darin, entweder den Safe Mode abzustellen, oder das Zeitlimit in der php.ini zu verändern.
Ihr Webbserver kann andere timeout Beschränkungen haben. Apache z.B. kennt die TimeOut Anweisung, IIS hat eine CGI timeout Funktion. Beide sind im Standard auf 300 Sekunden eingestellt. Für die Bedeutung dieser timeouts schauen Sie bitte in die Dokumentation Ihres Webservers.
- max_input_time integer
Legt die maximale Zeit in Sekunden fest, die ein Skript verbrauchen darf, um Eingabedaten (wie POST, GET und Dateiuploads) zu empfangen. Der Standardwert für diese Einstellung ist 60 Sekunden.
- magic_quotes_gpc boolean
Legt die magic_quotes Einstellungen für GPC (Get/Post/Cookie) fest. Ist diese Einstellung auf on, werden alle ' (einzelne Anführungszeichen), " (doppelte Anführungszeichen), \ (Backslash) und NUL's automatisch mit einem Backslash geschützt.
Anmerkung: Steht die Einstellung für magic_quotes_sybase ebenfalls auf ON, überschreibt diese magic_quotes_gpc komplett. Beide Einstellungen aktiviert bewirken, dass nur einzelne Anführungszeichen durch '' geschützt werden. Doppelte Anführungszeichen, Backslashes und NUL's werden nicht verändert und verbleiben im Originalzustand.
Siehe auch get_magic_quotes_gpc()
- magic_quotes_runtime boolean
Falls magic_quotes_runtime aktiviert ist, werden die meisten Funktionen die Daten von einer beliebigen externen Quelle zurückgeben, inklusive Datenbanken und Textdateien, die in den Daten enthaltenen Anführungszeichen mit einem Backslash geschützt zurückgeben. Falls zusätzlich magic_quotes_sybase auf on steht, werden einzelne Anführungszeichen mit einem einzelnen Anführungszeichen statt einem Backslash geschützt.
Resource Typen
Diese Erweiterung definiert keine Resource-Typen.
Vordefinierte Konstanten
Die aufgelisteten Konstanten stehen immer zur Verfügung, da sie zum Grundbestand von PHP gehören.
Tabelle 217. Vordefinierte Konstanten für phpcredits()
| Konstante | Wert | Beschreibung |
|---|---|---|
| CREDITS_GROUP | 1 | Eine Liste der Kernentwickler |
| CREDITS_GENERAL | 2 | Generelle Credits: Sprachentwurf und -konzept, PHP Autoren und SAPI Module. |
| CREDITS_SAPI | 4 | Eine Liste der Server API Module für PHP und deren Autoren. |
| CREDITS_MODULES | 8 | Eine Liste der Erweiterungsmodule für PHP und deren Autoren. |
| CREDITS_DOCS | 16 | Die Credits für das Documentationsteam. |
| CREDITS_FULLPAGE | 32 | Wird üblicherweise in Verbindung mit den anderen Konstanten verwendet. Gibt an, dass eine komplette, eigenständige HTML-Seite ausgegeben wird, die alle Informationen enthält, die mit anderen Konstanten angefordert wurden. |
| CREDITS_QA | 64 | Die Credits für das Qualitätssicherungsteam. |
| CREDITS_ALL | -1 | Alle Credits, das entspricht der Angabe von: CREDITS_DOCS + CREDITS_GENERAL + CREDITS_GROUP + CREDITS_MODULES + CREDITS_QA CREDITS_FULLPAGE. Eine komplette, eigenständige HTML-Seite mit den entsprechenden Tags wird erzeugt und ausgegeben. Das ist der Standardwert. |
Tabelle 218. phpinfo() Konstanten
| Konstante | Wert | Beschreibung |
|---|---|---|
| INFO_GENERAL | 1 | Die Konfigurationsangaben, php.ini Speicherort, Builddatum, Webserver, Betriebssystem und mehr. |
| INFO_CREDITS | 2 | PHP Credits. Siehe auch phpcredits(). |
| INFO_CONFIGURATION | 4 | Gegenwätige locale und Master-Werte für PHP Einstellungen. Siehe auch ini_get(). |
| INFO_MODULES | 8 | Geladene Module und ihre entsprechenden Einstellungen. |
| INFO_ENVIRONMENT | 16 | Informationen über Umgebungsvariablen, die auch in $_ENV zur Verfügung stehen. |
| INFO_VARIABLES | 32 | Zeigt alle vordefinierten Variablen von EGPCS (Environment, GET, POST, Cookie, Server). |
| INFO_LICENSE | 64 | PHP Lizenz Informationen. Siehe auch die » Lizenz FAQ. |
| INFO_ALL | -1 | Zeigt alle oben genannten Einträge. Das ist der Standardwert. |
Inhaltsverzeichnis
- assert_options — Setzt oder liefert die Assert-Optionen
- assert — Prüft ab, ob eine Bedingung oder Abfrage FALSE ist
- dl — Lädt eine PHP-Erweiterung (Extension) zur Laufzeit
- extension_loaded — Zeigt an, ob eine Bibliothek geladen wurde
- get_cfg_var — Zeigt den Wert einer Option der PHP-Konfiguration
- get_current_user — Den Besitzer des aktuellen PHP-Scripts anzeigen.
- get_defined_constants — Returns an associative array with the names of all the constants and their values
- get_extension_funcs — Stellt ein Array mit den Namen einer Funktion eines Moduls zur Verfügung
- get_include_path — Gets the current include_path configuration option
- get_included_files — Stellt ein Array der Dateinamen zur Verfügung, die mittels include_once() in ein Script geladen wurden
- get_loaded_extensions — Stellt ein Array mit den Namen aller Module, die kompiliert und geladen sind, zur Verfügung
- get_magic_quotes_gpc — Zeigt die aktuelle Konfiguration von magic quotes gpc
- get_magic_quotes_runtime — Zeigt die aktuelle Konfiguration von magic_quotes_runtime
- get_required_files — Stellt ein Array mit den Namen der Dateien zur Verfügung, die über require_once() in einem Script aufgerufen wurden
- getenv — Zeigt den Wert einer Umgebungsvariablen an
- getlastmod — Zeigt die Uhrzeit der letzten Änderung einer Seite
- getmygid — Get PHP script owner's GID
- getmyinode — Gibt den Inode des aktuellen Skripts aus
- getmypid — Zeigt die ID des PHP-Prozesses
- getmyuid — Zeigt die UID des Besitzers eines PHP-Scripts
- getopt — Gets options from the command line argument list
- getrusage — Zeigt den aktuellen Ressourcenverbrauch an
- ini_alter — Alias von ini_set()
- ini_get_all — Gets all configuration options
- ini_get — Gets the value of a configuration option
- ini_restore — Restores the value of a configuration option
- ini_set — Sets the value of a configuration option
- main — Dummy for main()
- memory_get_peak_usage — Returns the peak of memory allocated by PHP
- memory_get_usage — Returns the amount of memory allocated to PHP
- php_ini_scanned_files — Return a list of .ini files parsed from the additional ini dir
- php_logo_guid — Die logo-guid abfragen
- php_sapi_name — Zeigt die Schnittstelle zwischen Webserver und PHP an
- php_uname — Returns information about the operating system PHP is running on
- phpcredits — Prints out the credits for PHP
- phpinfo — Zeigt viele Informationen zu PHP
- phpversion — Fragt die installierte PHP-Version ab
- putenv — Setzt den Wert einer Umgebungsvariablen.
- restore_include_path — Restores the value of the include_path configuration option
- set_include_path — Sets the include_path configuration option
- set_magic_quotes_runtime — Setzt magic_quotes_runtime
- set_time_limit — Setzt die maximale Ausführungszeit
- sys_get_temp_dir — Returns directory path used for temporary files
- version_compare — Compares two "PHP-standardized" version number strings
- zend_logo_guid — Zeigt die Zend guid
- zend_version — Zeigt die aktuelle Zend engine Version
Note: when magic_quotes_gpc is ON, it will also slash values inside both $_SERVER['QUERY_STRING'] and $_SERVER['SCRIPT_NAME'] (and equivalents) will also be slashed.
You probably don't want to set "magic_quotes_runtime" because it affects even binary file read/write operations. This is especially problematic if you include someone else's library that depends on binary read/write. If you enable "magic_quotes_runtime", be sure to use set_magic_quotes_runtime() function call to disable it before calling someone else's library that does binary read/write.
