Как запустить проект на Symfony под локальным доменом на Windows 11, используя WSL2 с Ubuntu и Symfony CLI?

У кого-то есть опыт настройки Symfony на Windows с использованием локального домена? Пожалуйста, помогите! 

Вот моя ситуация:  
Я использую Windows 11 (ситуация аналогична на Windows 10) и установил Symfony CLI в Ubuntu под WSL2.  
Проект создан через Composer командой:  
<b>composer create-project symfony/symfony-demo . 1.8.0 </b>  
Также создал проект с помощью Symfony CLI командой:  
<b>symfony new . --version=5.4 --webapp </b>  
Не обращайте внимания на версии, аналогичная проблема возникает и с последними версиями. Symfony CLI установлен как глобальное приложение в Ubuntu (последняя версия на текущий момент - Symfony CLI version 5.10.7).

Я следую документации, представленной по следующей ссылке:  
<a href="https://symfony.com/doc/current/setup/symfony_server.html#local-domain-names" rel="nofollow">https://symfony.com/doc/current/setup/symfony_serv...</a>

Установил прокси в настройках Windows, используя следующий сценарий настройки:  
Пробовал обе ссылки:  
<pre><code class="bash">1) http://127.0.0.1:7080/proxy.pac  
2) http://localhost:7080/proxy.pac</code></pre>  
Сейчас у меня прописан второй вариант http://<b>localhost:7080/proxy.pac</b>.

Также я задал доменное имя. При запуске сервера получаю следующие данные:  
<pre><code class="bash">Local Web Server  
    Listening on https://127.0.0.1:8001  
Local Domains  
    https://symfony-5-demo.wip  
Workers  
    PID 437: /usr/sbin/php-fpm8.3 --nodaemonize --fpm-config /home/ruslan/.symfony5/php/1fbd14f9d2dc360b91ec0ea2c7700bd96fae831e/fpm-8.3.12.ini --force-stderr</code></pre>

Сайт открывается по IP, но при попытке доступа через домен появляется ошибка <b>DNS_PROBE_FINISHED_NXDOMAIN</b>. Если я добавляю в файл <i><b>hosts:</b></i> <i>127.0.0.1 symfony-5-demo.wip</i>, то...
  • 11 февраля 2025 г. 19:14
Ответы на вопрос 1
Ваша проблема связана с настройкой локального домена для проекта Symfony под WSL2. Правильно настроить проект достаточно просто, но требует выполнения некоторых шагов. Вот подробное руководство для решения вашей ситуации:

### Шаг 1: Настройка файла hosts

Вы правильно начали добавлять запись в файл `hosts`, но вам нужно сделать это в системе Windows, а не в WSL. Чтобы добавить записку в файл `hosts` на Windows, выполните следующие действия:

1. Откройте Notepad или любой другой текстовый редактор от имени администратора.
2. Откройте файл `C:\Windows\System32\drivers\etc\hosts`.
3. Добавьте строку:
   ```
   127.0.0.1 symfony-5-demo.wip
   ```
4. Сохраните файл и закройте редактор.

### Шаг 2: Запуск Symfony сервера

Затем убедитесь, что вы запускаете встроенный сервер Symfony правильно. Перейдите в директорию вашего проекта и выполните команду:

```bash
symfony serve
```

Это должно запустить сервер и сделать его доступным по локальным доменам, которые вы настроили. Вы должны увидеть сообщения о том, что сервер запущен и слушает на `https://symfony-5-demo.wip`.

### Шаг 3: Убедитесь, что прокси настроен правильно (если это необходимо)

Так как вы используете WSL2, в большинстве случаев не нужно ковыряться в прокси-настройках. Убедитесь, что ваш браузер не использует какие-либо прокси, которые могут мешать доступу к локальному домену. Для тестирования вы можете временно отключить прокси в браузере.

### Шаг 4: Проверка DNS

После изменения файла `hosts` попробуйте ввести в адресной строке вашего браузера URL `https://symfony-5-demo.wip`. Если вы все сделали правильно, страница должна загрузиться без ошибки DNS.

### Шаг 5: Дополнительные проверки

Если все еще возникает ошибка `DNS_PROBE_FINISHED_NXDOMAIN`, обратите внимание на следующие моменты:

- Проверьте наличие записи в файле `hosts` на наличие лишних пробелов или ошибок.
- Убедитесь, что другие программы (например, VPN или файрвол) не блокируют доступ к этому домену.
- Попробуйте перезапустить WSL и ваш компьютер.
  
### Заключение

Обычно с WSL2 и настройкой локальных доменов проблем не возникает, если все сделано правильно. Если у вас все еще возникают проблемы, сообщите, что именно происходит, и я постараюсь помочь.
Похожие вопросы