Choisir une catégorie
Aperçu Aide Contact
print article

Copier automatiquement le fichier php.ini dans tous les répertoires

Valable pour les offres de type Hébergement Mutualisé Linux et Serveur Dédié Clé-en-main.

Cet article vous explique comment copier un fichier php.ini dans tous les répertoires.

Il vous est possible de modifier la configuration de PHP via un php.ini qu'il vous faut placer dans le dossier où vous souhaitez que la modification soit appliquée.

La modification est alors appliquée uniquement dans le dossier où le fichier php.ini est placé. Si vous souhaitez qu'elle le soit également sur tous les sous-dossiers, vous devez copier celui-ci dans chacun des sous-dossiers.

Ceci peut s'avérer fastidieux s'il y a beaucoup de sous-dossiers. Un simple script PHP peut réaliser l'opération de copie pour vous : suivez les indications ci-dessous.

Etape 1

Vous devez dans un premier temps créer un fichier à l'aide d'un éditeur de texte qui doit contenir le code PHP suivant :

<?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 = ".";
$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.";
?>

Etape 2

Il vous faut ensuite enregistrer ce contenu dans un fichier nommé copierphpini.php.

Etape 3

Vous devez alors transférer le fichier copierphpini.php dans le dossier de l'espace Web dans lequel se trouve le fichier php.ini qui doit être copié dans tous les sous-dossiers.

Vous pouvez transférer ce fichier à l'aide de l'accès SFTP/FTP ou via le 1&1 WebTransfert. Suivez les indications disponibles dans ces articles :

Etape 4

Il vous faut ensuite exécuter le fichier copierphpini.php en appelant le fichier via votre navigateur Internet.

Navigateur Internet
Navigateur Internet

Pour en savoir plus, consultez l’un des articles suivants: