Где идет этот тег?
Где я могу найти файл vhosts?
Я не мог найти его в документации.
<VirtualHost hostname:80>
...
SetEnv NS_ENV variable_value
...
</VirtualHost>
Где идет этот тег?
Где я могу найти файл vhosts?
Я не мог найти его в документации.
<VirtualHost hostname:80>
...
SetEnv NS_ENV variable_value
...
</VirtualHost>
Примечание.. Для начала единственная разница для этого руководства, между XAMPP и WAMP или другими пакетами Apache для Windows, - это вопрос, где эти пакеты установлены на вашем компьютере.
Введение: vhost (виртуальный хост) - отличное решение, если вы планируете разрабатывать много независимых проектов в php и изолировать их друг от друга, например:
php.localhost
laravel.localhost
codeigniter.locathost
wordpress.locathost
Предполагается, что вы установили последнюю версию XAMPP/WAMP. Кстати, в моем случае я только установил Apache и MySQL.
* Примечание.. По умолчанию большинство веб-серверов будут использовать порт 80 как порт по умолчанию, в некоторых случаях, если у вас установлен другой веб-сервер (Microsoft IIS), он также использует порт 80 или в других случаях SKYPE также несколько раз использует порт 80, как это имеет место для некоторых в Windows 8/10 для некоторых пользователей, в этом случае вы можете сделать две вещи
8080
, 8081
и т.д. или некоторые другие свободные порты (примечание: 8080 может несколько раз также дать некоторые проблемы)Я решил изменить мой 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.
Сохранить и закрыть файл
Дополнительная информация и примечания:
localhost
<VirtualHost *:80>
8080
, адрес URL будет localhost:8080
project1.localhost:8080
и т.д.Мы еще не готовы, читаем больше.
Шаг 3. Редактирование файла хоста Windows
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
c:\vhost\Laravel...
путь должен быть изменен на любой путь к проекту.В вашем браузере вам нужно только право
http://localhost:8001/
Примечание по 403 Запрещенная ошибка доступа
Если вы обнаружите 403 доступную запрещенную ошибку при переходе на ваш сайт, вам может потребоваться добавить ее в файл httpd.conf:
<Directory path_to_dir>
AllowOverride none
Require all granted
</Directory>
Вы можете сделать свой localhost указывать на разные папки на разных номерах портов. Выполните следующие простые шаги:
Шаг 1: Сделайте ваш apache для прослушивания нескольких портов. Перейдите в C:\xampp\apache\conf\httpd.conf и выполните поиск ключевого слова. Слушайте, вы можете увидеть что-то вроде этого. Слушайте 80. Теперь скажите, чтобы ваш apache прослушивал несколько портов, замените их ниже содержания
Шаг 2: Теперь перейдите к "C:\xampp\apache\conf\extra\httpd-vhosts.conf", это настоящий игрок. В конце файла вы можете указать что-то вроде этого ниже:
DocumentRoot "C:/xampp/htdocs/project1" Имя_сервера localhost: 8001
DocumentRoot "C:/xampp/htdocs/project2" Имя_сервера localhost: 8002
Что говорит Apache брать разные папки при попадании разных номеров портов. То есть, когда вы нажмете localhost: 8001/, он отобразит содержимое из project1, аналогично localhost: 8002/укажет на вашу папку project2.
Сделав это, мы и запустим 2 разных сайта на нашей локальной машине.
Примечание. Вам необходимо перезапустить apache, когда вы что-то изменяете в httpd.conf или httpd-vhosts.conf.
Прежде всего, откройте "Блокнот" в качестве администратора и
затем нажмите file > open
. Затем перейдите к своему драйверу окна, и найдите папку system32
, затем найдите папку drivers
, а затем папку etc
.
Теперь вы увидите папку с пустыми файлами, поэтому не беспокойтесь, чтобы увидеть текстовые документы (*.txt
) внизу. Измените представление на all files
, после чего вы увидите файл vhost
.
Откройте и наслаждайтесь!
Виртуальный хост создает
N.B. вы сначала открываете свой редактор (блокнот и т.д.) в режиме "Запуск от имени администратора", иначе вы не сможете сохранить эти файлы. ок.