У Symfony 2 через Vagrant в Windows есть ошибки, потому что Symfony пытается искать файлы веток, используя путаницу путей Windows и Linux

Всякий раз, когда я пытаюсь получить доступ (почти) к любой странице / маршруту, я получаю следующие ошибки:

ContextErrorException в строке Filesystem.php 130:
Предупреждение:
file_get_contents (C: _CODE \ Symfony2 \ поставщика \ Sensio \ распределение-расслоение \ Sensio \ Bundle \ DistributionBundle / Ресурсы / просмотров / конфигуратор / Step / doctrine.html.twig):
не удалось открыть поток: нет такого файла или каталога

По сути, Symfony, похоже, объединяет URL-адреса как из среды Vagrant / Linux, так и Windows, и поэтому не может найти кучу файлов веток.

Немного о моей настройке:

У меня есть файлы Symfony на компьютере с Windows, и они отображаются в окне Vagrant. Я просто использую преимущество по умолчанию «.» -> сопоставление «/ vagrant», а затем настройку puppet создайте символическую ссылку из «/ vagrant / web» -> «/ var / www» («.» — это место, где расположены и Symfony, и файл vagrantfile). Настройка в основном скопирована с https://github.com/nater1067/Vagrant-Symfony-2. Просто чтобы убедиться, что это был не я, я использовал git pull из «репо» со склада и пошел к HTTP: // локальный / конфигурации (после комментирования ограничения, разрешающего только соединения с локального хоста), и эта ошибка выше обнаружилась на шаге 2.

Что я пробовал:

Как вы можете видеть из марионеточного файла репозитория, он, похоже, уже правильно установил для владельца веб-файлов (/ var / www / *) значение vagrant: vagrant. Я также попытался сопоставить весь диск C с / vagrant / c. а затем с помощью символической ссылки получить правильные файлы ../%Symfony%/web в / var / www, но это тоже не сработало. Я также попытался установить разрешения 777 для всех каталогов и файлов в / var / www.

Вопрос:

Есть ли что-то еще, что мне нужно сделать с установкой Windows / Vagrant / Symfony, чтобы Symfony не пытался соединить пути Linux и Windows? Мой следующий шаг — просто сдаться и переместить файлы из Windows в бродячую коробку.

1

Решение

Вы выполняете какие-либо команды Symfony на своем локальном компьютере? В основном вы должны просто редактировать файлы через вашу IDE, а все остальное должно быть на бродячем компьютере. Symfony сама по себе никогда не узнает о том, что в нее вовлечена другая ОС. Пока вы запускаете все с виртуальной машины, этого никогда не должно происходить.

1

Другие решения

Вы должны просто изменить свою конфигурацию. Поместите файлы Symfony в коробку Vagrant; затем, используя какой-то общий доступ к сети, используйте что-то для редактирования их снаружи.

У этого есть только один единственный недостаток: подключение к вашему Vagrant box может быть медленным, особенно с использованием NFS для совместного использования.

0

По вопросам рекламы [email protected]