4
function wampIniSet($iniFile, $params)
6
$iniFileContents = @file_get_contents($iniFile);
7
foreach ($params as $param => $value)
8
$iniFileContents = preg_replace('|'.$param.' = .*|',$param.' = '.'"'.$value.'"',$iniFileContents);
9
$fp = fopen($iniFile,'w');
10
fwrite($fp,$iniFileContents);
15
function listDir($dir,$toCheck = '')
17
if ($handle = opendir($dir))
19
while (false !== ($file = readdir($handle)))
21
if ($file != "." && $file != ".." && is_dir($dir.'/'.$file))
25
eval('$result ='." $toCheck('$dir','$file');");
27
if (!isset($result) || $result == 1)
37
function checkPhpConf($baseDir,$version)
39
global $wampBinConfFiles;
40
global $phpConfFileForApache;
42
if (!is_file($baseDir.'/'.$version.'/'.$wampBinConfFiles))
44
if (!is_file($baseDir.'/'.$version.'/'.$phpConfFileForApache))
49
function checkApacheConf($baseDir,$version)
51
global $wampBinConfFiles;
53
if (!is_file($baseDir.'/'.$version.'/'.$wampBinConfFiles))
58
function checkMysqlConf($baseDir,$version)
60
global $wampBinConfFiles;
62
if (!is_file($baseDir.'/'.$version.'/'.$wampBinConfFiles))
68
function switchPhpVersion($newPhpVersion)
70
require 'config.inc.php';
72
//on charge le fichier de conf de la nouvelle version
73
require $c_phpVersionDir.'/php'.$newPhpVersion.'/'.$wampBinConfFiles;
77
//on determine les textes httpd.conf en fonction de la version d'apache
78
$apacheVersion = $wampConf['apacheVersion'];
79
while (!isset($phpConf['apache'][$apacheVersion]) && $apacheVersion != '')
81
$pos = strrpos($apacheVersion,'.');
82
$apacheVersion = substr($apacheVersion,0,$pos);
86
// on sauvegarde le php.ini courant
87
copy($c_phpConfFile,$c_phpVersionDir.'/php'.$wampConf['phpVersion'].'/'.$phpConfFileForApache);
89
//on place le nouveau php.ini
90
copy($c_phpVersionDir.'/php'.$newPhpVersion.'/'.$phpConfFileForApache,$c_phpConfFile);
93
// on modifie le fichier de conf d'apache
94
$httpdContents = file($c_apacheConfFile);
95
foreach ($httpdContents as $line)
97
if (strstr($line,'LoadModule') && strstr($line,'php'))
99
$newHttpdContents .= 'LoadModule '.$phpConf['apache'][$apacheVersion]['LoadModuleName'].' "'.$c_phpVersionDir.'/php'.$newPhpVersion.'/'.$phpConf['apache'][$apacheVersion]['LoadModuleFile'].'"'."\r\n";
101
elseif ($phpConf['apache'][$apacheVersion]['AddModule'] != '' && strstr($line,'AddModule') && strstr($line,'php'))
102
$newHttpdContents .= 'AddModule '.$phpConf['apache'][$apacheVersion]['AddModule']."\r\n";
104
$newHttpdContents .= $line;
106
file_put_contents($c_apacheConfFile,$newHttpdContents);
110
foreach ($phpDllToCopy as $dll)
112
if (is_file($c_phpVersionDir.'/php'.$newPhpVersion.'/'.$dll))
114
unlink($c_apacheVersionDir.'/apache'.$wampConf['apacheVersion'].'/'.$wampConf['apacheExeDir'].'/'.$dll);
115
copy($c_phpVersionDir.'/php'.$newPhpVersion.'/'.$dll,$c_apacheVersionDir.'/apache'.$wampConf['apacheVersion'].'/'.$wampConf['apacheExeDir'].'/'.$dll);
119
//on modifie la conf de wampserver
120
$wampIniNewContents['phpIniDir'] = $phpConf['phpIniDir'];
121
$wampIniNewContents['phpExeDir'] = $phpConf['phpExeDir'];
122
$wampIniNewContents['phpConfFile'] = $phpConf['phpConfFile'];
123
$wampIniNewContents['phpVersion'] = $newPhpVersion;
124
wampIniSet($configurationFile, $wampIniNewContents);
b'\\ No newline at end of file'