Localisation: 1&1 FAQ ->Scripts / Programmation->PHP->Modification des Valeurs PHP->Article #4

Hébergement Linux Cet article n'est applicable qu'aux hébergements Linux.

Copier automatiquement le fichier php.ini dans tous les répertoires
Copier manuellement le fichier php.ini peut se trouver être une opération très longue en fonction de votre application (Joomla par exemple).

Un simple script PHP peut réaliser l’opération de copie pour vous, et placer ainsi le php.ini dans l’ensemble des répertoires et sous répertoires de l’application.

Voici un exemple de script PHP :
Fichier 1: phpini.php
<?php 
// set this value to Y if you only want to overwrite old php.ini files 
// set this value to N if you want to put a php.ini file in every directory 
$overwriteOnly = "N"; 

if ($overwriteOnly == "Y") echo "Operating in Overwrite Only Mode<br><br>"; 
$path = "/homepages/xx/dxxxxxxxxx/htdocs"; 
$source = $path . "/php.ini";
if (!file_exists($source)) die('Error - no source php.ini file'); 
function search($dir) { 
  global $source; 
  global $overwriteOnly; 
  $dh = opendir($dir); 
  while (($filename = readdir($dh)) !== false) { 
    if ( $filename !== '.' AND $filename !== '..' AND $filename !== 'cgi-bin' AND is_dir("$dir/$filename") ) { 
      $path = $dir."/".$filename;  
      $target = $path . "/php.ini"; 
      if (!file_exists($target) AND $overwriteOnly == "Y") { 
        echo "$path <b>skipped - no php.ini file</b><br>"; 
      } else { 
        echo "$target <br>"; 
        if (!copy($source,$target)) echo "<b>Write failed for $target </b><br>"; 
        if (file_exists($target)) chmod($target,0600); 
    } 
      search($path); 
    } 
  } 
  closedir($dh); 
} 
search($path); 
echo "<br>Done."; 
?>


Pour utiliser le script ci-dessus, vous devez connaître le chemin d’accès à votre espace web (le path).
* Via L’Espace Client
Dans votre Espace Client, cliquez sur Configuration des Domaines  => Sélectionnez la case la gauche du domaine  =>Cliquez sur Infos
Vous trouvez alors Répertoire d'accueil avec une valeur semblable à /homepages/xx/dxxxxxxxxx/htdocs/.
* En SSH
Si votre pack dispose d’un accès SSH, vous pouvez après la connexion saisir la commande
pwd
qui vous communiquera le répertoire d’accueil de votre espace web.

En possession maintenant de cette information, vous pouvez adapter le script à votre hébergement.
Notez cette dernière dans le script ci-dessus à la place de votre_repertoire_d_accueil qui se trouve à côté de la variable $path =
La ligne du fichier doit ainsi se présenter
$path = "/homepages/xx/dxxxxxxxxx/htdocs";


Enregistrez maintenant le code dans un fichier phpini.php (par exemple) et placez ce dernier à la racine de votre espace web avec le fichier php.ini contenant les nouvelles variables / valeurs.

Appelez le fichier avec votre navigateur internet, la copie sera alors faite automatiquement.