Це можливо, тому що веб-сервер nginx це не так вказує на правильний шлях.
Ви повинні переглянути дві клавіші: map
ключ під folders
і to
ключ під sites
. folders
Ключ відображає папки на локальному комп'ютері в бродячої VM. sites
Ключ використовується для створення віртуального хоста на Nginx зі значенням в to
.
Те , що ви хочете , щоб переконатися в тому , що в to
відповідності з sites
точками на правильному шляху public
.
Проблема полягала в тому, що я створив свій проект laravel composer create laravel/laravel
. Це створило папку в моєму поточному каталозі з назвою laravel
. Тоді, не змінюючи каталогів, я встановив помічник садиби composer require laravel/homestead --dev
.
Після запуску php vendor/bin/homestead make
і vagrant up
структура мого каталогу виглядала приблизно так:
$ cd laravel51
$ ls -a
.
..
.vagrant
laravel
composer.json
composer.lock
vendor
Homestead.yml
Vagrantfile
Мій Homestead.yml виглядав так:
folders:
- map: "/Users/USER/Sites/sandbox/php/laravel51"
to: "/home/vagrant/laravel51"
sites:
- map: laravel51
to: "/home/vagrant/laravel51/public"
Якщо ви придивитесь уважніше, /Users/USER/Sites/sandbox/php/laravel51
шлях буде встановлений на бродячий VM. Це неправильний каталог, оскільки він повинен вказувати на корінь проекту laravel, де знаходиться каталог вашого додатка. Тут сталося те, що я повинен був вимагати помічника помічника, поки я був у корені проекту .
Тож тепер питання в тому, що мені робити? У вас є два варіанти: позбудьтеся від вашої поточної VM господарства та почніть спочатку , але цього разу від кореня проекту АБО врятуйте те, що у вас вже є.
Якщо ви хочете врятувати те, що у вас є, вам доведеться перемістити кілька файлів і папки до кореня проекту laravel.
Це артефакти, які вам потрібно буде перемістити:
.vagrant
Homestead.yml
Vagrantfile
Це composer.json
не потрібно, оскільки ви будете вимагати його пізніше.
Перемістіть ці файли до кореня проекту laravel та змініть там свій поточний робочий каталог ( cd laravel
). У цей момент просто оновіть map
нижче folders
і переконайтеся, що він вказує на корінь проекту. Також переконайтеся, що to
ключ під sites
- to
ключ під, folders
та /public
додається до нього.
Наприклад:
folders:
- map: "/Users/USER/Sites/sandbox/php/laravel51/laravel"
to: "/home/vagrant/laravel51"
sites:
- map: laravel51
to: "/home/vagrant/laravel51/public"
Тепер запустіть composer require laravel/homestead --dev
так, щоб помічник домашнього господарства був потрібний у файлі composer.json поточного проекту та встановлений.
Біжи, vagrant reload --provision
і ти повинен бути все налаштовано.
vagrant up --provision
не працювало для мене, але все-homestead up --provision
таки