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.
>>>
CXIX. Options PHP et informations
Introduction
Ces fonctions vous donnent accès à de nombreuses informations sur PHP lui-même, comme les configurations d'exécution, les extensions chargées, les versions, etc. Vous trouverez aussi des fonctions pour modifier des options. Ainsi que la star des fonctions PHP phpinfo().
Pré-requis
Ces fonctions sont disponibles dans le module PHP standard, qui est toujours accessible.
Installation
Il n'y pas d'installation nécessaire pour utiliser ces fonctions, elles font parties du coeur de PHP.
Configuration à l'exécution
Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.
Tableau 1. Options de configuration
| Nom | Par défaut | Modifiable | Historique |
|---|---|---|---|
| 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 | "-1" | PHP_INI_PERDIR | Disponible depuis PHP 4.3.0. |
| magic_quotes_gpc | "1" | PHP_INI_PERDIR | Disponible depuis PHP <= 4.2.3. |
| magic_quotes_runtime | "0" | PHP_INI_ALL |
Voici un éclaircissement sur l'utilisation des directives de configuration.
- assert.active boolean
Active les évaluations de type assert().
- assert.bail boolean
Termine le script si une assertion échoue.
- assert.warning boolean
Emet une alerte PHP pour chaque assertion échouée.
- assert.callback string
Fonction définie par le programmeur, à appeler pour chaque assertion échouée.
- assert.quiet_eval boolean
Utilise la configuration courante de error_reporting() durant les évaluations d'assertions. Si activée, aucune erreur n'est affichée (error_reporting(0) implicite) durant l'évaluation. Si désactivée, les erreurs sont affichées en fonction de la configuration de error_reporting()
- enable_dl boolean
Cette directive est réellement utile lorsque PHP est compilé comme module Apache. Vous pouvez activer le chargement dynamique d'extension avec la fonction PHP dl() au cas par cas, pour chaque serveur virtuel.
La raison principale pour désactiver ce système est la sécurité. Avec le chargement dynamique, il est possible de passer outre les configurations de safe mode et open_basedir.
Par défaut, le chargement dynamique est autorisé, sauf avec le safe mode. En safe mode, il est toujours impossible d'utiliser la fonction dl().
- max_execution_time entier
Fixe le temps maximal d'exécution d'un script, en secondes. Cela permet d'éviter que des scripts en boucles infinies saturent le serveur. La configuration par défaut est de 30 secondes.
Le temps d'exécution maximum n'est pas affecté par des appels systèmes tels que sleep(). Reportez-vous à la fonction set_time_limit() pour plus de détails.
Vous ne pouvez pas modifier la valeur de cette directive avec ini_set() lorsque PHP est configuré en safe mode. Le seul moyen de le faire est de désactiver le safe mode ou de changer la valeur dans php.ini.
Votre serveur web peut avoir d'autres temps d'exécution maximum. E.g. Apache a une directive Timeout, IIS a une fonction de temps d'exécution maximum pour les CGI, les deux de 300 secondes par défaut. Lisez la documentation de votre serveur web la signification de cela.
- max_input_time entier
Cette option spécifie la durée maximale pour analyser les données d'entrée, via POST, GET et téléchargement de fichier.
- magic_quotes_gpc boolean
Fixe le mode magic_quotes pour les opérations GPC (Get/Post/Cookie). Lorsque magic_quotes est activé, tous les caractères ' (guillemets simples), " (guillemets doubles), \ (antislash) et NUL sont échappés avec un antislash.
Note : Si la directive magic_quotes_sybase est aussi activée, elle écrasera magic_quotes_gpc. Avec les deux directives activées, seuls les guillemets simples seront protégés avec un autre guillemet simple. Les guillemets doubles, les antislashs et les NUL ne seront pas protégés.
Voir aussi get_magic_quotes_gpc().
- magic_quotes_runtime boolean
Si magic_quotes_runtime est activé, toutes les fonctions qui obtiennent des données auprès d'une source externe, y compris les bases de données et les fichiers texte, verront leur guillemets échappés avec un antislash. Si magic_quotes_sybase est aussi activé, les guillemets simples seront échappés avec un autre guillemet simple, plutôt qu'un antislash.
Types de ressources
Cette extension ne définit aucune ressource.
Constantes pré-définies
Les constantes listées ici sont toujours disponibles dans PHP.
Tableau 2. Constantes pré-définies de phpcredits()
| Constante | Valeur | Description |
|---|---|---|
| CREDITS_GROUP | 1 | Une liste des développeurs principaux |
| CREDITS_GENERAL | 2 | Crédits généraux. Design du langage, concepts, auteurs de PHP et module SAPI. |
| CREDITS_SAPI | 4 | Une liste des API de serveurs, et leurs auteurs. |
| CREDITS_MODULES | 8 | Une liste des extensions de PHP, et leurs auteurs |
| CREDITS_DOCS | 16 | Les crédits de l'équipe de documentation |
| CREDITS_FULLPAGE | 32 | Généralement utilisé combiné avec d'autres options. Cette option indique qu'une page HTML complète doit être générée. |
| CREDITS_QA | 64 | Les crédits pour le groupe d'assurance qualité. |
| CREDITS_ALL | -1 | Tous les crédits. C'est l'équivalent de :CREDITS_DOCS + CREDITS_GENERAL + CREDITS_GROUP + CREDITS_MODULES + CREDITS_QA CREDITS_FULLPAGE. Elle génère une page HTML complète et autonome. C'est la valeur par défaut. |
Tableau 3. Constantes de phpinfo()
| Constante | Valeur | Description |
|---|---|---|
| INFO_GENERAL | 1 | La ligne de configuration, le chemin du php.ini, la date de compilation, le système et plus encore. |
| INFO_CREDITS | 2 | Crédits de PHP. Voir aussi phpcredits(). |
| INFO_CONFIGURATION | 4 | Valeurs locales et serveurs des directives PHP. Voir aussi ini_get(). |
| INFO_MODULES | 8 | Les modules chargés et leurs configurations respectives. |
| INFO_ENVIRONMENT | 16 | Les variables d'environnement, qui sont aussi disponibles dans $_ENV. |
| INFO_VARIABLES | 32 | Toutes les variables pré-définies : EGPCS (Environnement, GET, POST, Cookie, Server). |
| INFO_LICENSE | 64 | La licence PHP. Voir aussi la FAQ de la licence. |
| INFO_ALL | -1 | Affiche toutes les valeurs citées ci-dessus. C'est la valeur par défaut. |
- Table des matières
- assert_options -- Fixe et lit différentes options d'assertions
- assert -- Vérifie si une assertion est fausse
- dl -- Charge une extension PHP à la volée
- extension_loaded -- Détermine si une extension est chargée ou non
- get_cfg_var -- Retourne la valeur d'une option de PHP
- get_current_user -- Retourne le nom du possesseur du script courant
- get_defined_constants -- Retourne la liste des constantes et leurs valeurs
- get_extension_funcs -- Liste les fonctions d'une extension
- get_include_path -- Lit la valeur de la directive de configuration include_path
- get_included_files -- Retourne un tableau avec les noms des fichiers qui sont inclus dans un script
- get_loaded_extensions -- Retourne la liste de tous les modules compilés et chargés
- get_magic_quotes_gpc -- Retourne la configuration actuelle de l'option magic_quotes_gpc
- get_magic_quotes_runtime -- Retourne la configuration actuelle de l'option magic_quotes_runtime
- get_required_files -- Alias de get_included_files()
- getenv -- Retourne la valeur d'une variable d'environnement
- getlastmod -- Retourne la date de dernière modification de la page
- getmygid -- Retourne le GID du propriétaire du script
- getmyinode -- Retourne l'inode du script
- getmypid -- Retourne le numéro de processus courant de PHP
- getmyuid -- Retourne l'UID du propriétaire du script actuel
- getopt -- Lit des options passées dans la ligne de commande
- getrusage -- Retourne le niveau d'utilisation des ressources
- ini_alter -- Alias de ini_set()
- ini_get_all -- Lit toutes les valeurs de configuration
- ini_get -- Lit la valeur d'une option de configuration
- ini_restore -- Restaure la valeur de l'option de configuration
- ini_set -- Modifie la valeur d'une option de configuration
- main -- Fausse documentation pour main()
- memory_get_peak_usage -- Retourne la quantité de mémoire allouée par PHP
- memory_get_usage -- Indique la quantité de mémoire utilisée par PHP
- php_ini_scanned_files -- Retourne la liste des fichiers .ini analysés dans les dossiers de configuration supplémentaires
- php_logo_guid -- Retourne l'identifiant du logo PHP
- php_sapi_name -- Retourne le type d'interface utilisée entre le serveur web et PHP
- php_uname -- Retourne les informations sur le système d'exploitation
- phpcredits -- Affiche les crédits de PHP
- phpinfo -- Affiche de nombreuses informations sur PHP
- phpversion -- Retourne le numéro de la version courante de PHP
- putenv -- Fixe la valeur d'une variable d'environnement
- restore_include_path -- Restaure la valeur de la directive de configuration include_path
- set_include_path -- Modifie la valeur de la directive de configuration include_path
- set_magic_quotes_runtime -- Active/désactive l'option magic_quotes_runtime
- set_time_limit -- Fixe le temps maximum d'exécution d'un script
- sys_get_temp_dir -- Retourne le chemin du répertoire utilisé pour les fichiers temporaires
- version_compare -- Compare deux chaînes de versions au format des versions PHP
- zend_logo_guid -- Retourne le logo de Zend
- zend_version -- Lit la version courante du moteur Zend
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.
