<ul class="tools"> <li><a href="?phpinfo=1">phpinfo()</a></li> <li><a href="phpmyadmin/">phpmyadmin</a></li> </ul>...et de le remplacer par :
<ul class="tools"> <li><a href="?phpinfo=1">phpinfo()</a></li> <li><a href="phpmyadmin/">phpmyadmin</a></li> <li><a href="add_vhost.php" target="_blanck">Ajouter un "Virtual Host"</a></li> </ul>
//Par défaut la valeur est "../" //$server_dir = "WAMPROOT/"; $server_dir = "../"; require $server_dir.'scripts/config.inc.php'; require $server_dir.'scripts/wampserver.lib.php';Comme ça, tu peux récupérer le vrai chemin complet du fichier httpd-vhosts.conf utilisé par la variable $c_apacheVhostConfFile
$c_apacheVhostConfFile = $c_apacheVersionDir.'/apache'.$wampConf['apacheVersion'].'/'.$wampConf['apacheConfDir'].'/extra/httpd-vhosts.conf';
<li><a href="add_vhost.php" target="_blanck">Ajouter un "Virtual Host"</a></li>par
<li><a href="add_vhost.php" onclick="window.open(this.href); return false;">Ajouter un "Virtual Host"</a></li>
$c_apacheVersionDir.'/apache'.$wampConf['apacheVersion'].'/'.$wampConf['apacheConfDir'].'/extra/httpd-vhosts.conf';
$c_apacheVersionDir.'/apache'.$wampConf['apacheVersion'].'/'.$wampConf['apacheConfDir'].'/extra/httpd-vhosts.conf';Oui, même avec Wampserver 2.5. Parfois je m'y perd un peu avec mes évolutions de version de Wampserver et je dois retourner voir le contenu des fichiers d'origine.
/* Actualisation des dns */ $cmd_lines = array(); exec('add_vhost.bat', $cmd_lines); $dns_refresh_message = '<pre><code>'.implode("<br>",$cmd_lines).'</code></pre>';par
/* Actualisation des dns */ $command = array('ipconfig /flushdns', 'net stop Dnscache', 'net start Dnscache'); ob_start(); foreach($command as $value) { echo "Command-> ".$value."\n"; passthru($value); } $output = iconv("CP850","UTF-8//TRANSLIT", ob_get_contents()); ob_end_clean(); $dns_refresh_message = '<pre><code>'.$output.'</code></pre>';
$message['apachevhosts'] = "VirtualHost configuration:\n\n"; require_once 'config.inc.php'; $myhttpd_contents = file_get_contents($c_apacheConfFile); if(preg_match("~^[ \t]*#[ \t]*Include[ \t]*conf/extra/httpd-vhosts.conf.*$~m",$myhttpd_contents) > 0) { $message['apachevhosts'] .= "*** WARNING: It is impossible to get VirtualHost\n#Include conf/extra/httpd-vhosts.conf\nline is commented in httpd.conf\n"; } else { $c_vhostConfFile = $c_apacheVersionDir.'/apache'.$wampConf['apacheVersion'].'/'.$wampConf['apacheConfDir'].'/extra/httpd-vhosts.conf'; if(!file_exists($c_vhostConfFile)) { $message['apachevhosts'] .= "*** WARNING: The file\n".$c_vhostConfFile."\ndoes not exist\n"; } else { $myVhostsContents = file_get_contents($c_vhostConfFile);et vérifier que le VirtualHost localhost existe, sinon le créer avant d'en ajouter un autre.
// répertoires à ignorer dans les projets $projectsListIgnore = array ('.','..');
<ul class="tools"> <li><a href="?phpinfo=1">phpinfo()</a></li> <li><a href="phpmyadmin/">phpmyadmin</a></li> <li>Ajouter un Virtual Host : <form method="post"> <input type="text" name="newvhost" required> <input type="submit" value="ajouter"> </form> </ul>Pour le php (traitement des données après validation), voir mon fichier add_vhost.php...
<link rel="StyleSheet" href="wampthemes/classic/style.css">
%windir%\system32\drivers\etc\hostsDonc, pour récupérer le chemin de hosts :
$c_hosts_file = getenv('WINDIR')."\system32\drivers\etc\hosts";
//Test du fichier hosts $c_hostsFile = getenv('WINDIR').'/system32/drivers/etc/hosts'; $c_hostsFile_writable = true; if(file_exists($c_hostsFile)) { if(!is_file($c_hostsFile)) error_log($c_hostsFile." is not a file" ); if(!is_writable($c_hostsFile)) { if(chmod($c_hostsFile, 0644) === false) error_log("Impossible to modify the file ".$c_hostsFile." to be writable" ); if(!is_writable($c_hostsFile)) { error_log("The file ".$c_hostsFile." is not writable" ); $c_hostsFile_writable = false; } } } else { error_log("The file ".$c_hostsFile." does not exists" ); $c_hostsFile_writable = false; }