Ini mungkin karena server web nginx tidak mengarah ke jalur yang benar.
Ada dua kunci yang harus Anda perhatikan: map
kunci di bawah folders
dan to
kunci di bawah sites
. The folders
key peta folder pada komputer lokal Anda ke VM gelandangan. The sites
kunci digunakan untuk membuat virtual host di nginx dengan nilai dito
.
Apa yang ingin Anda pastikan adalah bahwa di to
bawah sites
menunjuk 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 make
dan vagrant up
struktur 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/laravel51
jalur 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.json
tidak 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 map
bawah folders
dan pastikan itu mengarah ke root proyek. Pastikan juga bahwa to
kunci di bawah sites
adalah to
kunci di bawah folders
dengan/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 --provision
dan Anda harus siap.
vagrant up --provision
tidak berhasil untuk saya, tetapihomestead up --provision
berhasil