Accueil
Accueil Le Club Delphi Kylix C C++ Java J2EE DotNET & C# Visual Basic Access Pascal Dev Web PHP ASP XML UML SQLSGBD Windows Linux Autres
logo

precedent    sommaire    suivant   


Comment changer le temps limite d'exécution de mes scripts ?
auteur : Cyberzoide
PHP limite la durée d'exécution des scripts. Ceci pour des raisons de sécurité et de performance. En effet, un script fou qui contiendrait une boucle infinie due à une erreur de programmation consommerait énormément de ressources. Or les hébergeurs ne peuvent se permettre de compromettre les performances de leurs serveurs, ainsi ils limitent cette durée d'exécution.

En cas de dépassement de cette durée limite, il survient cette erreur :
Fatal error: Maximum execution time exceeded in your script on line 16
Mais si le traitement d'un script exige de dépasser cette durée limite, que faire ? Il existe alors deux méthodes possibles :
  • modifier la directive max_execution_time du fichier de configuration php.ini
  • appeler la fonction set_time_limit($time) qui rajoute la durée $time à celle définie par max_execution_time
La valeur de cette durée est fixée par défaut à 30 secondes. L'unité est la seconde. Pour ne fixer aucune limite de temps, il faut lui donner la valeur zéro.

A noter que la fonction set_time_limit est désactivée lorsque PHP fonctionne en safe mode. Il apparaîtra alors l'erreur suivante :
Warning: Cannot set time limit in safe mode in your script on line 18
L'hébergeur gratuit Free.fr tourne en safe mode et ne donne pas accès au fichier de configuration, dans ces conditions, il n'est donc pas possible de changer la durée limite d'exécution des scripts.


Comment connaître la valeur d'une option de configuration du php.ini ?
auteur : Cyberzoide
La fonction ini_get($var) retourne la valeur de l'option $var.

Elle permet de connaître les valeurs définies dans les directives de configuration du fichier php.ini.

Attention, cette fonction est affectée par ini_set().


Comment connaître la version de PHP et les modules chargés ?
auteur : Forum PHP
Il possible de connaître la version de PHP ainsi que les modules chargés à l'aide de la fonction phpinfo
L'utilisation de cette fonction est très simple, il vous suffit de créer un script PHP contenant le code suivant :
Sur la première ligne est affichée la version de PHP. Dans le même tableau sont affichées ensuite des informations comme le type de système d'exploitation, la commande utilisée pour compiler PHP, le type de fonctionnement de PHP (CGI ou module) et le ou les fichiers ".ini" utilisés pour la configuration de PHP.

Vient ensuite un tableau "PHP Core" qui montre les valeurs des différentes directives indiquées dans les fichiers ".ini".
Les informations des modules suivent avec un tableau pour chaque module.
À la fin se trouve le contenu des variables d'environnement ainsi que des variables "$_REQUEST", "$_GET", "$_POST", "$_COOKIE", "$_SERVER" et "$_ENV".


Comment connaître les fonctions disponibles chez votre hébergeur ?
auteurs : Julp, Hachesse
<?php
/*
Ce script vous permet de connaître toutes les fonctions disponibles sur votre serveur
Il vous permet également d'accéder facilement à la documentation française de cette
fonction sur le site officiel de PHP
Ce Script ne fonctionne qu'avec les versions 4.0 et supérieur de PHP

Auteurs : julp et hachesse
*/
?>

<h2>Liste des modules disponibles :</h2>
<ol start="1" type="I">
   <?php
   $listModules = get_loaded_extensions();
   foreach ($listModules as $module){
      echo '<li>Module : <b><a href="#'.$module.'">'.$module.'</a></b><br />';
   }
   ?>
</ol>
<br /><br />

<h2>Détail des fonctions par module:</h2>
<ol type="I">
   <?php
   foreach ($listModules as $module) {
      $listFunctions = get_extension_funcs($module);
      sort($listFunctions);
      echo '<li id="'.$module.'">'.$module.'<ol type="1">';
      foreach ($listFunctions as $function) {
          $param = str_replace('_', '-', $function);
          echo '<li><a href="http://fr.php.net/'.$param.'">'.$function.'</a></li>';
      }
      echo '</ol></li>';
   }
   ?>
</ul>

Comment désactiver certaines classes ?
auteur : Cyberzoide
Le fichier de configuration php.ini permet d'interdire l'utilisation de certaines classes dans les scripts PHP pour des raisons de sécurité.
disable_classes = 
Cette directive de configuration prend pour valeur une chaîne de caractères délimitée par des doubles quotes. Cette chaîne est composée de la liste des classes à interdire, séparées par une virgule.

Exemple :
disable_classes = "SQL_user"
Cette directive n'est pas inactivée par le safe mode.


Comment exécuter un script PHP à chaque début/fin de chargement de fichier ?
auteur : f-demu01
Il existe deux directives du fichier de configuration php.ini permettant de charger un script avant ou après le chargement d'une page. Il s'agit des variables
auto_prepend_file   =
auto_append_file   =


Comment interdire certaines fonctions PHP ?
auteur : Cyberzoide
Le fichier de configuration php.ini permet d'interdire l'utilisation de certaines fonctions dans les scripts PHP pour des raisons de sécurité (par exemple, interdire l'utilisation de system(), exec(), et autres...).
; This directive allows you to disable certain functions for security reasons.
; It receives a comma-delimited list of function names. This directive is
; *NOT* affected by whether Safe Mode is turned On or Off.
disable_functions = 
Cette directive de configuration prend pour valeur une chaîne de caractères délimitée par des doubles quotes. Cette chaîne est composée de la liste des fonctions à interdire, séparées par une virgule.

Exemple :
disable_functions = "system, exec, phpinfo"
Cette directive n'est pas inactivée par le safe mode.


Comment modifier la valeur d'une option de configuration ?
auteur : Cyberzoide
Soit en éditant le fichier php.ini soit au cours du script avec la fonction ini_set($var, $val).

Cette fonction permet de changer la valeur d'une option de configuration du php.ini pour la seule durée du script en cours d'exécution. Elle change l'option $var pour lui donner la valeur $val. Elle retourne FALSE en cas d'échec, ou l'ancienne valeur en cas de réussite.

Exemple :
if(! ini_set("max_execution_time", "60")) {echo "échec";}
Cet exemple permet de modifier le temps maximum autorisé d'exécution du script.

Au contraire, la fonction ini_restore($var) permet de restaurer la valeur de la variable $var par celle définie dans le fichier php.ini. Elle permet donc d'annuler les modifications effectuées sur l'option $var par la fonction ini_set().


precedent    sommaire    suivant   

Consultez les autres F.A.Q's


Les sources présentés sur cette pages sont libre de droits, et vous pouvez les utiliser à votre convenance. Par contre cette page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright ©2003  Developpez LLC. Tout droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérets. Cette page est déposée à la SACD.

Vos questions techniques : forum d'entraide Accueil - Publiez vos articles, tutoriels, cours et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones. Nous contacter - Copyright 2000..2005 www.developpez.com