Ini mungkin karena server web nginx tidak mengarah ke jalur yang benar.
Ada dua kunci yang harus Anda perhatikan: mapkunci di bawah foldersdan tokunci di bawah sites. The folderskey peta folder pada komputer lokal Anda ke VM gelandangan. The siteskunci digunakan untuk membuat virtual host di nginx dengan nilai dito .
Apa yang ingin Anda pastikan adalah bahwa di tobawah sitesmenunjuk ke jalur yang benarpublic .
Masalahnya adalah saya membuat proyek laravel saya dengan composer create laravel/laravel. Ini membuat folder di direktori saya saat ini bernama laravel. Kemudian tanpa mengubah direktori saya menginstal homestead helper dengancomposer require laravel/homestead --dev .
Setelah berjalan php vendor/bin/homestead makedan vagrant upstruktur direktori saya terlihat seperti ini:
$ cd laravel51
$ ls -a
.
..
.vagrant
laravel
composer.json
composer.lock
vendor
Homestead.yml
Vagrantfile
Homestead.yml saya terlihat seperti ini:
folders:
- map: "/Users/USER/Sites/sandbox/php/laravel51"
to: "/home/vagrant/laravel51"
sites:
- map: laravel51
to: "/home/vagrant/laravel51/public"
Jika Anda melihat lebih dekat, /Users/USER/Sites/sandbox/php/laravel51jalur tersebut akan dipasang ke VM gelandangan. Ini adalah direktori yang salah karena seharusnya mengarah ke akar proyek laravel tempat direktori aplikasi Anda berada. Apa yang terjadi di sini adalah bahwa saya seharusnya membutuhkan pembantu wisma saat saya berada di root proyek .
Jadi sekarang pertanyaannya adalah apa yang harus saya lakukan? Anda punya dua opsi: singkirkan VM homestead Anda saat ini dan mulai lagi, tetapi kali ini dari root proyek ATAU selamatkan apa yang sudah Anda miliki.
Jika Anda ingin menyelamatkan apa yang Anda miliki, Anda harus memindahkan beberapa file dan folder ke root proyek laravel Anda.
Ini adalah artefak yang harus Anda pindahkan:
.vagrant
Homestead.yml
Vagrantfile
Ini composer.jsontidak akan diperlukan karena Anda akan membutuhkannya nanti.
Pindahkan file-file itu ke root proyek laravel Anda dan ubah direktori kerja Anda saat ini ke sana ( cd laravel). Kemudian perbarui bagian mapbawah foldersdan pastikan itu mengarah ke root proyek. Pastikan juga bahwa tokunci di bawah sitesadalah tokunci di bawah foldersdengan/public ditambahkan padanya.
Sebagai contoh:
folders:
- map: "/Users/USER/Sites/sandbox/php/laravel51/laravel"
to: "/home/vagrant/laravel51"
sites:
- map: laravel51
to: "/home/vagrant/laravel51/public"
Sekarang lari composer require laravel/homestead --dev sehingga homestead helper diperlukan ke dalam file composer.json proyek Anda saat ini dan diinstal.
Jalankan vagrant reload --provisiondan Anda harus siap.
vagrant up --provisiontidak berhasil untuk saya, tetapihomestead up --provisionberhasil