Це можливо, тому що веб-сервер 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таки