อาจเป็นเพราะเว็บเซิร์ฟเวอร์ nginx ไม่ได้ชี้ไปยังเส้นทางที่ถูกต้อง
: มีสองปุ่มที่คุณควรมีลักษณะที่เป็นmap
กุญแจสำคัญภายใต้folders
และที่สำคัญภายใต้to
คีย์แผนที่โฟลเดอร์บนเครื่องของคุณให้กับคนจรจัด VM ที่สำคัญคือใช้ในการสร้างโฮสต์เสมือนบน Nginx กับค่าในsites
folders
sites
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
ให้รันเพื่อให้ผู้ช่วย homestead จำเป็นต้องใช้ในไฟล์ composer.json ของโปรเจ็กต์ปัจจุบันของคุณและติดตั้ง
เรียกใช้vagrant reload --provision
และคุณควรจะพร้อม
vagrant up --provision
ไม่ได้ผลสำหรับฉัน แต่homestead up --provision
ทำ