#php #apache #wamp
#php #apache #wamp
Вопрос:
Существует множество инструкций о том, какие настройки следует изменить, чтобы отобразить список виртуальных хостов на домашней странице wamp, однако после проверки index.php в C://wamp/www похоже, здесь не было кода, который показывал бы виртуальные хосты независимо от того, какие настройки были в другом месте. Итак, я добавил в себя некоторый код, чтобы показать этот список, и подумал, что это может помочь другим, которые хотят сделать то же самое.
Для этого в вашем файле httpd-vhosts.conf должны быть записи, подобные следующим
<VirtualHost *:80>
DocumentRoot "C:/wamp/www/website_folder_name"
ServerName Website_Name #<----------This is the what index.php uses
<Directory "C:/wamp/www/website_folder_name">
AllowOverride All
Require local
</Directory>
</VirtualHost>
Теперь, в C://wamp/www/index.php внесите следующие изменения:
После этой строки (строка 65) $wampserverVersion = str_replace(‘»‘,»,$result[1]);
Добавить:
$wampVHostsFile = $server_dir.'bin/apache/apache2.4.9/conf/extra/httpd-vhosts.conf';
if (!is_file($wampVHostsFile))
die ('Unable to open Virtual Hosts file, please change path in index.php file');
$fp = fopen($wampVHostsFile,'r');
$wampVHostsFileContents = fread ($fp, filesize ($wampVHostsFile));
fclose ($fp);
$vHosts = "";
$result = array(1=>array(1=>786));
while(! empty($result)) {
preg_match('|ServerName (.*)|',$wampVHostsFileContents,$result, PREG_OFFSET_CAPTURE, $result[1][1]);
array_key_exists(1, $result) ? $vHosts .= '<li><a href="'.($suppress_localhost ? 'http://' : '').$result[1][0].'">'.$result[1][0].'</a></li>' : null;
}
if (empty($vHosts))
$vHosts = "<li>No Virtual Hosts</li>n";;
Затем прокрутите до конца файла и отредактируйте $pageContents, содержащий html. Я решил, что мне не нужен список псевдонимов, поэтому закомментируйте этот код:
<div class="third right">
<h2>{$langues[$langue]['txtAlias']}</h2>
<ul class="aliases">
${aliasContents}
</ul>
</div>
И замените этим кодом:
<div class="third right">
<h2>Your Virtual Hosts</h2>
<ul class="aliases">
${vHosts}
</ul>
</div>
Комментарии:
1. Это не вопрос, и это тоже неправильное решение. Правильное решение см. В Этом документе на форуме WampServer forum.wampserver.com/read.php?2 ,124482 и найдите раздел, озаглавленный » Теперь есть еще одна вещь».
2. Да, я пробовал это, но я все еще не мог получить список виртуальных хостов. В нем нет кода index.php чтобы даже показать виртуальные хосты. Поэтому я изменил код.
Ответ №1:
Как мне включить меню « WAMPServer2.5
Мои виртуальные хосты«?
-
Сделайте резервную копию файла wamp wampmanager.tpl, на случай, если вы допустили ошибку, это очень важный файл.
-
Отредактируйте файл wampwampmanager.tpl
-
Найдите этот параметр
;WAMPPROJECTSUBMENU
, он находится в разделе «[Menu.Left]». -
Добавьте этот новый параметр
;WAMPVHOSTSUBMENU
либо до, либо после;WAMPPROJECTSUBMENU
параметра. -
Сохраните файл.
-
Теперь щелкните левой кнопкой мыши значок wampmanager и выберите
Refresh
. Если это не добавит меню, «выход» и перезапустите wampmanager.
Обратите внимание, что новое меню появится только в том случае, если у вас уже определены некоторые виртуальные хосты! В противном случае вы не увидите никакой разницы, пока не определите виртуальный хост или два.
О, и если его @Bollis читает это, отмените все ненужные изменения, которые вы внесли в index.php
Комментарии:
1. Я уже пробовал выше, и это не сработало. У вас есть какие-либо другие предложения @RiggsFolly? Спасибо.
2. Вы также читали Otomatics port в этом потоке, в нем описаны некоторые изменения в четырех других файлах в системе.
3. Да, я внес все эти изменения, выполнил множество поисковых запросов и перепробовал все, что смог найти, но виртуальные хосты по-прежнему не отображались.