Ответ 1
Полное руководство для создания VHOST (Virtual Host) на XAMPP/WAMP
Примечание.. Для начала единственная разница для этого руководства, между XAMPP и WAMP или другими пакетами Apache для Windows, - это вопрос, где эти пакеты установлены на вашем компьютере.
Введение: vhost (виртуальный хост) - отличное решение, если вы планируете разрабатывать много независимых проектов в php и изолировать их друг от друга, например:
- Проект 1 основан на php и имеет локальный адрес URL
php.localhost
- Проект 2 - проект Laravel с url
laravel.localhost
- Проект 3 является Codeigniter с url
codeigniter.locathost
- Проект 4 - это WordPress с URL
wordpress.locathost
Предполагается, что вы установили последнюю версию XAMPP/WAMP. Кстати, в моем случае я только установил Apache и MySQL.
* Примечание.. По умолчанию большинство веб-серверов будут использовать порт 80 как порт по умолчанию, в некоторых случаях, если у вас установлен другой веб-сервер (Microsoft IIS), он также использует порт 80 или в других случаях SKYPE также несколько раз использует порт 80, как это имеет место для некоторых в Windows 8/10 для некоторых пользователей, в этом случае вы можете сделать две вещи
- Измените порт Apache на порт
8080
,8081
и т.д. или некоторые другие свободные порты (примечание: 8080 может несколько раз также дать некоторые проблемы) - ИЛИ Измените другое программное обеспечение/порт IIS и сохраните Apache по умолчанию на порту 80 в случае Skype, просто запустите приложение Skype и перезапустите его после установки Apache на порт 80, Skype автоматически получит новый порт.
Я решил изменить мой Apache на порт 8080.
Примечание:
- Для следующего раздела нам нужно использовать текстовый редактор, например блокнот или обычную IDE. Я использовал возвышенный текстовый редактор.
- Если вы сохраняете Apache до порта 80 по умолчанию, пропустите эту часть и перейдите к виртуальным хостам.
Изменить порт XAMPP/WAMP (только при необходимости) если оставить значение по умолчанию, а затем перейти к настройке виртуального хоста
Шаг 1. Отредактируйте httpd.conf
Нажмите "Конфигурация" → "Apache" (httpd.conf)
Или вы найдете файл здесь C:\XAMPP\apache\conf\httpd.conf
, C:\XAMPP\apache2\conf\httpd.conf
, C:\Bitnami\wampstack\apache\conf\httpd.conf
или C:\Bitnami\wampstack\apache2\conf\httpd.conf
или аналогичное местоположение.
Измените строку с помощью
Listen 80
К 8080 или другим, свободным портам.
Listen 8080
Пока мы открываем файл httpd.conf
, мы должны обеспечить включение httpd-vhosts.conf
:
Включить conf/extra/httpd-vhosts.conf
Виртуальные хосты
Примечание. По умолчанию серверные документы находятся на
C:\XAMPP\htdocs
илиC:\Bitnami\wampstack\apache2\htdocs
, это нормально, если у вас есть только один проект или несколько небольших тестовых файлов. Однако, если вам нужно разработать много проектов, то предлагалось отделить их от виртуального хоста, как упоминалось ранее.
Шаг 2. Настройка виртуального хоста
- Создайте папку для ваших проектов; Я создал один в
c:\vhost
, вы можете назвать его проектами и т.д. - В папке
c:\vhost
мы создаем подпапку domain1 или project1 или любую другую, это зависит от вас (c:\vhost\project1
) - Открыть
httpd-vhosts.conf
файлC:\XAMPP\apache\conf\extra\httpd-vhosts.conf
Добавить следующий код в строке в зависимости от того, сколько хостов вы хотите создать:
<Directory C:/vhost>
AllowOverride All
Require all granted
</Directory>
#this is the default address of XAMPP
<VirtualHost *:8080>
DocumentRoot "C:/XAMPP/htdocs/"
ServerName localhost
</VirtualHost>
#this is the first vhost address in XAMPP
<VirtualHost *:8080>
DocumentRoot "C:/vhost/project1/"
ServerName php.localhost
SetEnv NS_ENV variable_value
</VirtualHost>
#this is the second vhost address in XAMPP for project like Laravel
<VirtualHost *:8080>
DocumentRoot "C:/vhost/Laravel-Blog/public"
ServerName laravel.localhost
</VirtualHost>
etc
Примечание.. Если вы работаете над проектами Laravel, вы можете создавать неограниченные проекты Laravel, а также другие фреймворки, такие как codeigniter, Yii и т.д., дело в том, что у вас есть проект Laravel/s на
c:\vhost\laravel1
,c:\vhost\laravel2
и т.д. и сделайтеc:\vhost\laravel1\public
как DocumentRoot и т.д., Как показано ранее. Каждый проект Laravel будет иметь собственный URL-адрес VirtualHost.
Сохранить и закрыть файл
Дополнительная информация и примечания:
- Если порт остается по умолчанию 80, тогда адрес URL будет
localhost
- Если порт остается по умолчанию 80, то тег VirtualHost следует изменить на
<VirtualHost *:80>
- Если порт изменен на
8080
, адрес URL будетlocalhost:8080
- И адрес URL-адреса vhost может выглядеть так:
project1.localhost:8080
и т.д. - Вы можете добавлять неограниченные проекты и виртуальный хост таким образом.
Мы еще не готовы, читаем больше.
Шаг 3. Редактирование файла хоста Windows
- Остановить службы Apache и MySQL от XAMPP/WAMP.
- Открыть файл hosts в
C:\windows\system32\drivers\etc
вам необходимо получить права администратора для редактирования файла. Я предлагаю отредактировать файл напрямую с помощью текстового редактора Sublime. - Добавьте
127.0.0.1 project1.localhost
в конец файла, сохраните и закройте файл.
127.0.0.1 localhost
127.0.0.1 php.localhost
127.0.0.1 laravel.localhost
127.0.0.1 codeigniter.localhost
127.0.0.1 wordpress.localhost
127.0.0.1 laravel2.localhost
etc. those are just examples
сохранить файл
Заключительный шаг. Запустите/снова запустите свой Apache и MySQL.
Добавление (предложение)
Примечание.. В процессе разработки вы можете столкнуться с проблемой кэширования, потому что вы можете рискнуть обновить что-то в Laravel и не появится в вашем браузере. Поэтому вам может потребоваться отключить кэш php в процессе разработки в локальной среде.
Откройте файл php.ini
в папке php в папке Apache (XAMPP или WAMP) и
измените opcache.enable
на 0
, чтобы он выглядел так:
[opcache]
zend_extension=php_opcache.dll
; Determines if Zend OPCache is enabled
opcache.enable=0
Добавление (альтернативное решение)
Важно: Следующее решение не подходит для тестирования Restful Api, canvas, тяжелых решений и т.д., это может дать вам некоторые головные боли, я бы предложил решение виртуального хоста с портом 80 по умолчанию.
Можно развернуть временный виртуальный сервер без необходимости настройки виртуального хоста XAMPP/WAMP, запустить консоль CMD и выполнить следующую команду php:
php -S localhost:8001 -t c:\vhost\Laravel-Project\public
- Порт 8001 может быть изменен на любой доступный номер порта и быть уверенным и противоречить другим портам программного обеспечения.
-
c:\vhost\Laravel...
путь должен быть изменен на любой путь к проекту. - Можно запускать несколько серверов, но должны иметь разные номера портов.
В вашем браузере вам нужно только право
http://localhost:8001/
Примечание по 403 Запрещенная ошибка доступа
Если вы обнаружите 403 доступную запрещенную ошибку при переходе на ваш сайт, вам может потребоваться добавить ее в файл httpd.conf:
<Directory path_to_dir>
AllowOverride none
Require all granted
</Directory>