การใช้ Laravel Homestead: 'ไม่ได้ระบุไฟล์อินพุต'


113

ฉันยังใหม่กับการใช้ Laravel และ Homestead และจะขอบคุณความช่วยเหลือใด ๆ หรือชี้ไปในทิศทางที่ถูกต้อง ฉันสามารถไปที่หน้าจอ "คุณมาถึงแล้ว" ได้สำเร็จเมื่อเรียกใช้ "php artisan serve" แต่เมื่อฉันพยายามทำสิ่งเดียวกันผ่าน Vagrant ฉันได้รับ "ไม่ระบุไฟล์อินพุต" ไฟล์ Homestead.yaml ของฉันมีลักษณะดังนี้:

authorize: /Users/me/.ssh/id_rsa.pub

keys:
    - /Users/me/.ssh/id_rsa

folders:
    - map: /Users/me/code/exampleproject
      to: /home/vagrant/code/exampleproject

sites:
    - map: exampleproject.app
      to: /home/vagrant/code/exampleproject/public

variables:
    - key: APP_ENV
      value: local

ในคอมพิวเตอร์ของฉันฉันมีไดเร็กทอรีต่อไปนี้:

/Users/me/code/Homestead
/Users/me/code/exampleproject //this is the directory created with composer

ใน Vagrant Box ของฉันฉันมีด้วยเหตุผลบางประการไดเรกทอรีสองชื่อ "รหัส" และ "รหัส":

/home/vagrant/code/exampleproject 
/home/vagrant/Code

ฉันได้ตรวจสอบแล้วและสามารถเห็นการเปลี่ยนแปลงที่เกิดขึ้นกับไฟล์โครงการตัวอย่างของคอมพิวเตอร์ของฉันปรากฏในไฟล์กล่องคนจรจัด

ไม่แน่ใจจริงๆว่าจะคิดออกได้อย่างไร !! ฉันจะขอบคุณจริงๆที่ช่วยได้ :)

คำตอบ:


163

แทนที่จะติดตั้งใหม่ลอง

vagrant up --provision

หรือ

homestead up --provision

1
vagrant up --provisionไม่ได้ผลสำหรับฉัน แต่homestead up --provisionทำ
zillaofthegods

ขอบคุณมาก!
yohannan_sobin

1
vagrant reload --proivisionเพียงแค่ทำ
Omar Tariq

1
วิธีนี้ใช้ได้ผลเช่นกันคุณสามารถลองใช้คนเร่ร่อนทำลายและเร่ร่อนจากนั้นฉันจะทำการกำหนดค่าทั้งหมดและมันก็สะอาดขึ้นมาก
George Plamenov Georgiev

สวัสดีฉันมีปัญหาเดียวกันที่นี่แทนที่จะเป็น homestead ฉันเรียกใช้ใน cpanel ข้อเสนอแนะใด ๆ ?
Aslam

45

ฉันมีปัญหาเดียวกันและพบวิธีแก้ปัญหาโดยใช้ larachat

ต่อไปนี้คือวิธีแก้ไขคุณต้องตั้งค่าไฟล์ homestead.yaml ให้ถูกต้อง หากคุณต้องการทราบวิธีการต่อไปนี้ทำของเจฟฟรีวิธีการสอนเกี่ยวกับที่อยู่อาศัย 2.0 https://laracasts.com/lessons/say-hello-to-laravel-homestead-two

ตอนนี้เพื่อแก้ไขInput not specifiedปัญหาคุณต้อง ssh ในกล่อง homestead และพิมพ์

serve domain.app /home/vagrant/Code/path/to/public/directoryสิ่งนี้จะสร้างสคริปต์การให้บริการสำหรับ nginx คุณจะต้องทำสิ่งนี้ทุกครั้งที่คุณเปลี่ยนโปรเจ็กต์

เขายังพูดถึงสิ่งที่ฉันอธิบายในซีรีส์นี้https://laracasts.com/series/laravel-5-fundamentals/


2
นี่คือสิ่งที่ฉันกำลังมองหา ขอบคุณ Rudy!
Matthew Fritz

ฉันเดาว่าปัญหาจะเกิดขึ้นถ้าเพิ่มโครงการอื่นใน Homestead ใช่ไหม มันเป็นไปไม่ได้ที่จะทำงานserveโดยอัตโนมัติสำหรับทุกคน?
Volatil3

ขอบคุณสำหรับการแบ่งปันบทแนะนำ ใช้งานได้แล้ว!
Dan Aronne

ด้วยการติดตั้งใหม่ของคนเร่ร่อน virtualbox ที่อยู่อาศัย ... และพยายามทำลาย / ขึ้นคำสั่ง serve คือสิ่งที่ได้ผลในที่สุด ขอบคุณ
คริส

28

แก้ไขได้ง่ายเพราะคุณเปลี่ยนชื่อโฟลเดอร์เป็น: exampleproject

ดังนั้น SSH สำหรับคนจรจัดของคุณ:

ssh vagrant@127.0.0.1 -p 2222

จากนั้นเปลี่ยนการกำหนดค่า nginx ของคุณ:

sudo vi /etc/nginx/sites-enabled/homestead.app

แก้ไขURI ที่ถูกต้องเป็นรูทในบรรทัดที่ 3 โดยใช้ชื่อโฟลเดอร์ใหม่ :

root "/Users/MYUSERNAME/Code/exampleproject/public";

รีสตาร์ท Nginx

sudo service nginx reload

โหลดเว็บเบราว์เซอร์ใหม่มันควรจะใช้งานได้แล้ว


คำตอบที่ดีที่สุดในทุกเว็บสำหรับปัญหานี้ ความรุ่งโรจน์!
Defkon1

สิ่งนี้ล็อคคอมพิวเตอร์ของฉัน คงจะดีไม่น้อยหากให้เหตุผลของคำสั่งเหล่านี้ - เหตุใดจึงจำเป็นต้องใช้และสิ่งที่กำลังทำ
Joshua Foxworth

24

สำหรับฉันการทำงานต่อไปนี้:

vagrant reload --provision


1
สิ่งนี้ใช้ได้ผลสำหรับฉันเช่นกันเพื่อให้โหลดไซต์หลังจากที่ฉันเปลี่ยนไดเรกทอรีโฮสต์พื้นฐานเป็นรหัสแทนการออกแบบเว็บ ขอบคุณ! - rhand เพิ่งแก้ไข
rhand

อาจเป็นปัญหาตัวพิมพ์เล็กหรือตัวพิมพ์ใหญ่ในHomestead.yamlไฟล์ ยกตัวอย่างเช่นผมทำแผนที่ไปเมื่อมันชื่อไดเรกทอรีของฉันมันเป็นจริง/phpmyadmin phpMyAdmin
Pathros

1
เหตุผลที่ฉันใช้โซลูชันนี้คือทำให้ข้อมูลฐานข้อมูลของฉันยังคงอยู่ โซลูชันนี้มีรายละเอียดเพิ่มเติมที่นี่: laracasts.com/discuss/channels/general-discussion/…
lwitzel

8

ให้คำตอบของฉันในกรณีที่มีใครกำลังดิ้นรนกับปัญหานี้

  1. คุณอาจต้องตรวจสอบว่าการกำหนดค่า server.root ใน "/ etc / ngnx / sites-available / domain" ตรงกับ sites.to config ใน "Homestead.yaml"

  2. หากไม่ตรงกันให้เปลี่ยนและรีสตาร์ทเว็บเซิร์ฟเวอร์ด้วย "sudo service nginx restart"

  3. และยังคงใช้งานไม่ได้จากนั้นให้อนุญาตการเขียนสำหรับโฟลเดอร์ "YOURSITE / app / storage" เป็น "chmod -R 777 app / storage"


7

ฉันก็มีปัญหาเดียวกันฉันสันนิษฐานว่าติดตั้ง Laravel "นอกกรอบ" แต่ดูเหมือนว่าจะไม่ใช่ ฉัน SSH ไปที่เครื่องและรันคำสั่งเหล่านี้:

cd Code
sudo composer self-update #not necessary, but I did it anyways
composer create-project laravel/laravel Laravel --prefer-dist

และทุกอย่างก็ดำเนินไปตามปกติ


1
ขอบคุณ Arda! นั่นคือกุญแจสำคัญ ฉันใช้เวลาสองสามชั่วโมง :( คุณต้องเข้าไปใน Virtual Machine และเรียกใช้: comper create-project laravel / laravel folder-name
gtamborero

1
สิ่งสำคัญที่ต้องทำความเข้าใจกับข้อผิดพลาด "ไม่ระบุไฟล์อินพุต" คือการดูการกำหนดค่า Homestead.yaml ในเครื่องโฮสต์ของคุณ -> ไฟล์นี้มีการแมปไซต์ของคุณ (map: homestead.test to: / home / vagrant / code / public) ซึ่งหมายความว่าหากคุณไปที่ virtual machine ไปที่ root-> / home / vagrant / code / public / คุณต้องมีไฟล์ php html ของคุณที่นั่น หากไม่มีให้เรียกใช้: composer create-project laravel / laravel :) หากทุกอย่างได้ผลคุณต้องรู้ว่า "~ /" หมายถึง "c: / windows / users / yourname /" จึงจะมีไฟล์ sincronized ของคุณ จากคนเร่ร่อนไปยังโฮสต์ของคุณ
gtamborero

5

ปัญหานี้เกิดขึ้นสำหรับฉันหลังจากแก้ไข Homestead.yaml ฉันแก้ไขปัญหานี้โดย

homestead destroy
homestead up

น่าเศร้าที่สิ่งนี้ใช้ได้กับฉันเช่นกันซึ่งส่งผลให้ฐานข้อมูลของฉันถูกทำลายทุกครั้ง คุณพบวิธีแก้ปัญหานี้หรือไม่?
LoveAndHappiness

คุณอาจทำได้เพียงแค่ทำ 'การจัดเตรียมที่อยู่อาศัย' แทน นอกจากนี้หากคุณยังไม่ได้ดำเนินการขอแนะนำให้ตั้งค่าตัวเริ่มต้นและการย้ายข้อมูลเพื่อให้คุณป้องกันฐานข้อมูลได้น้อยลง
Rayzor

นี่แก้ไขปัญหาของฉัน: D และนี่เป็นสิ่งที่ดี: laracasts.com/lessons/say-hello-to-laravel-homestead-two
Ihab Shoully

5

ฉันมีปัญหาเดียวกัน

แต่ลืมไปว่าข้อมูลจำเพาะบอกว่าไฟล์กำหนดค่าจะอยู่ที่

~ / .homestead / Homestead.yaml และกำลังอัปเดต ~ / Homestead / src / ต้นขั้ว / Homestead.yaml

ดังนั้นการแก้ไขคือการอัปเดต Homestead.yaml ที่อยู่ที่นี่ที่

~ / .homestead / Homestead.yaml

ก่อน

sites: - map: homestead.app to: /home/vagrant/Laravel/public

หลังจาก

sites: - map: homestead.app to: /home/vagrant/Code/mysitename/public

จากนั้นฉันก็วิ่ง
vagrant up --provision

หวังว่าจะใช้ได้กับทุกคน


3

หลังจากที่ฉันเปลี่ยนชื่อไดเรกทอรีบางรายการฉันต้องทำลายและเรียกใช้คนจรจัดอีกครั้ง ไม่มีวิธีแก้ปัญหาใดที่ได้ผล

สิ่งนี้ใช้ได้ผลสำหรับฉัน:

vagrant destroy
vagrant up

1
อย่าใช้คนจรจัดทำลายใช้คนจรจัดหยุดเพื่อปิดเครื่องเสมือนของคุณอย่างสง่างาม
AbdulBasit


2

ฉันมีปัญหาเดียวกันขณะทำตามเอกสาร Laravel ( https://laravel.com/docs/5.2/homestead )

ปัญหาของฉันง่ายมากฉันพลาดอ่านส่วนนี้ในเอกสาร:

ไฟล์ Homestead.yaml จะถูกวางไว้ในไดเร็กทอรีที่ซ่อนอยู่ ~ / .homestead:

ดังนั้นฉันจึงอัปเดตไฟล์ Homestead.yaml ที่ไม่ถูกต้องเนื่องจากไฟล์ถูกย้ายเมื่อฉันรันคำสั่ง bash init.sh

ฉันเพิ่งตระหนักถึงสิ่งนี้หลังจากการค้นหามากมายดังนั้นหวังว่านี่จะช่วยใครบางคนได้


2

ฉันแค่ดิ้นรนกับสถานการณ์เดียวกัน ต่อไปนี้แก้ไขปัญหา:

หากคุณมีโครงสร้างไดเรกทอรีเช่นนี้:

folders:
    - map: /Users/me/code/exampleproject
      to: /home/vagrant/code/exampleproject

เพียงสร้างโฟลเดอร์ 'สาธารณะ' ภายในโครงการตัวอย่างบนเครื่องโฮสต์ของคุณ


2

ฉันใช้ Windows 10 และมีการกำหนดค่า Homestead ดังต่อไปนี้

---
ip: "192.168.10.10"
memory: 2048
cpus: 1
provider: virtualbox

authorize: ~/.ssh/id_rsa.pub

keys:
    - ~/.ssh/id_rsa
folders:
    - map: ~/code               #folder in local computer where codes are stored eg, c:\xampp\htdocs\project1
      to: /home/vagrant/code    #folder in the VM where the above code will be mapped

sites:
    - map: homestead.local          #fake name of the site (redirect this domain to the above IP ie 192.168.10.10 in hosts file ie, c:\windows\system32\etc\hosts)
      to: /home/vagrant/code/public #complete path to index.php file in the local computer to be utilized by homestead.local 
databases:
    - homestead

ฉันปิงแก้ไขโดเมน homestead.local และได้รับผลลัพธ์

แต่เมื่อฉันพิมพ์http: //homestead.localในเบราว์เซอร์ฉันได้รับ'ไม่ระบุไฟล์อินพุต'ข้อผิดพลาด

ฉันตรวจสอบรหัส / โฟลเดอร์สาธารณะและไม่มีไฟล์ดัชนี ฉันแน่ใจว่าระบบกำลังมองหาไฟล์เริ่มต้นที่หายไป

เมื่อฉันสร้างไฟล์ดัชนีมันก็เริ่มทำงานได้ดี

อัปเดต:

ครั้งต่อไปที่เกิดขึ้นหลังจากการเปลี่ยนแปลงในไฟล์Homestead.yamlฉันรันvagrant reload --provisionคำสั่งและใช้งานได้

ดูเหมือนว่าการรันvagrant reloadอย่างเดียวจะไม่จัดเตรียมกล่องพเนจร อ่านได้ที่นี่


1

คำเตือน linux พิจารณาตัวพิมพ์เล็กและใหญ่ นั่นอาจเป็นสาเหตุที่คุณเห็นไดเร็กทอรี "Code" และ "code"

สิ่งที่ฉันจะทำคือทำซ้ำการตั้งค่าคนเร่ร่อนอีกครั้งและถ้าคุณต้องการให้มันง่ายและตรงกับสิ่งที่กล่อง Homestead มีเป็นค่าเริ่มต้นให้สร้างไดเรกทอรีของคุณในเครื่องโฮสต์ "Code" ด้วยตัวพิมพ์ใหญ่

คุณยังสามารถในส่วน "โฟลเดอร์" เพียงแค่แมปกับโฟลเดอร์ "รหัส" ในเครื่องของคุณในกรณีที่คุณตัดสินใจที่จะเพิ่มไซต์เพิ่มเติมในการตั้งค่า Homestead ของคุณในภายหลัง ด้วยวิธีนี้ภายใต้ / home / vagrant / Code / คุณจะเห็นโครงการไซต์ทั้งหมดของคุณและคุณสามารถรวบรวมไซต์อื่น ๆ ที่ชี้ไปที่ไดเรกทอรี "สาธารณะ" ได้


ขอบคุณ @noeldiaz! เมื่อวานฉันทำตามที่คุณบอก ฉันดาวน์โหลดคนเร่ร่อนอีกครั้งจากนั้นลบไดเรกทอรี Homestead ของฉันด้วย "rm -r Homestead" จากนั้นก็เร่ร่อนขึ้นและเมื่อฉันได้เห็นว่าขั้นตอน vagrant up ดำเนินการบางอย่างเพิ่มเติมเช่นการบูตเซิร์ฟเวอร์ nginx เมื่อฉันลองไซต์มันได้ผล! นอกจากนี้ปัญหาโฟลเดอร์ "code" "Code" ก็หายไป :) ฉันได้ทำตามที่คุณแนะนำแล้วเช่นกันจนถึงส่วน "โฟลเดอร์" ฉันกลัวเล็กน้อยเนื่องจากดูเหมือนว่าฉันไม่เข้าใจวิธีการดีบักปัญหาเซิร์ฟเวอร์ / กล่องเสมือน 'แต่จะดำเนินต่อไป! ฉันขอขอบคุณสำหรับความช่วยเหลือของคุณ :)
bryant

1

อาจเป็นเพราะเว็บเซิร์ฟเวอร์ nginx ไม่ได้ชี้ไปยังเส้นทางที่ถูกต้อง

: มีสองปุ่มที่คุณควรมีลักษณะที่เป็นmapกุญแจสำคัญภายใต้foldersและที่สำคัญภายใต้to คีย์แผนที่โฟลเดอร์บนเครื่องของคุณให้กับคนจรจัด VM ที่สำคัญคือใช้ในการสร้างโฮสต์เสมือนบน Nginx กับค่าในsitesfolderssitesto

สิ่งที่คุณต้องการเพื่อให้แน่ใจว่าtoภายใต้จุดไปยังเส้นทางที่เหมาะสมในการsitespublic

ปัญหาคือฉันสร้างโครงการ 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และคุณควรจะพร้อม


1

ซึ่งมักเกิดขึ้นเมื่อคุณแก้ไขไฟล์Homestead.yaml

ถ้าชอบฉันคุณลองhomestead up --provisionแล้วไม่ได้ผล! จากนั้นลองสิ่งนี้ (ใช้ได้กับฉัน):

  • homestead destroy
  • homestead up

1

รุ่นเก่าของ Homestead แผนที่โฟลเดอร์ในการพูดเช่นโดยการเริ่มต้น~/Code ~/Code/laravel/publicสังเกตตัวพิมพ์เล็กและใหญ่ใน~/Code. ซึ่งเป็นกรณีที่ละเอียดอ่อน ~/codeรุ่นใหม่จะใช้กรณีที่ต่ำกว่า อัปเดตไดเรกทอรีเหล่านี้ในของคุณHomestead.yamlตามไดเรกทอรีจริงของคุณ

TL; DR;

ปรับปรุง~/Codeไป~/codeหรือกลับกันขึ้นอยู่กับชื่อไดเรกทอรีที่แท้จริงของคุณ


1

ปัญหาเดียวกันสำหรับฉัน

ไม่ได้ผลvagrant provisionหรือhomestead up --provisionสำหรับฉัน แต่ด้านล่างทำ - อาจเป็นเพราะ homestead ทำงานอยู่แล้วเมื่อฉันแก้ไขไฟล์ yml

vagrant reload --provision


0

ใน Laravel 5 ฉันต้อง ssh ในเซิร์ฟเวอร์ homestead ของฉันและเรียกใช้คำสั่งเหล่านี้:

sudo chmod -R 777 storage
sudo chmod -R 777 bootstrap/cache

0

นี่คือวิธีแก้ปัญหาของฉัน:

เป็นปัญหาเส้นทางไฟล์ดังนั้นด้านล่างนี้คือเส้นทางโฟลเดอร์และไซต์ของฉัน นอกจากนี้ฉันต้องใช้ "vagrant destroy" เนื่องจากการจัดเตรียมไม่ได้ผล

ใส่คำอธิบายภาพที่นี่


0

ปัญหาของฉันอยู่ในไฟล์ config ของโดเมน:

โฟลเดอร์สาธารณะของโครงการของฉันถูกสร้างขึ้นใน / home / vagrant / Code / demo / public

ไฟล์กำหนดค่าของโดเมน (สำหรับฉัน /etc/nginx/sites-available/demo.app) ได้กำหนดค่า: "/ home / vagrant / Code / Laravel / public" แทน "/ home / vagrant / Code / demo / public ".

ตอนนี้มันทำงานได้อย่างสมบูรณ์แบบ


0

ฉันมีปัญหาคล้าย ๆ กันกับ Homestead และการจัดเตรียมกล่องก็ใช้ได้ผลสำหรับฉัน ดังนั้นคุณควรลองสิ่งนี้:

vagrant provision


0

vagrant provisionรหัสที่เกี่ยวข้องใช้ไม่ได้สำหรับฉันหลังจากหายไประยะหนึ่งฉันได้รีสตาร์ทระบบทั้งหมด ตอนนี้ใช้งานได้แล้ว ... -, - "


0

ฉันแก้ไขhomestead.yamlและhostsตามlaracast กวดวิชานี้และตั้งรกรากเริ่มต้นใหม่โดยใช้vagrant suspend, vagrant haltฯลฯ / vagrant up; ฉันพยายามvagrant provisionเช่นกัน แต่no file specifiedก็หายไปหลังจากที่ฉันรีสตาร์ทคอมพิวเตอร์ (ฉันใช้ Windows 7 PC) หลังจากทำทุกอย่างข้างต้นแล้ว เป็นข้อผิดพลาดที่เสียเวลาและยุ่งยากอย่างแน่นอน

นี่คือhomestead.yamlลักษณะการทำงานของฉันสำหรับสองโครงการ laravel:

ip: "192.168.10.10"
memory: 2048
cpus: 1
provider: virtualbox

authorize: ~/.ssh/id_rsa.pub

keys:
- ~/.ssh/id_rsa

folders:
    - map: D:\Projects
      to: /home/vagrant/Projects

sites:
    - map: projectone.app
      to: /home/vagrant/Projects/ProjectOne/public
    - map: projecttwo.app
      to: /home/vagrant/Projects/ProjectTwo/public

databases:
    - laraveldb

และนี่คือhostsไฟล์ของฉัน:

...
127.0.0.1       localhost
192.168.10.10   projectone.app
192.168.10.10   projecttwo.app

หมายเหตุมีการติดตั้ง laravel ในD:\Projects\ProjectOneและD:\Projects\ProjectTwo

จากนั้นฉันจะเข้าถึงโครงการแรกโดยพิมพ์projectone.app:8000ในเบราว์เซอร์และprojecttwo.app:8000สำหรับโครงการที่สอง

ป.ล. ฉันทดสอบสิ่งนี้สำหรับ Laravel 5.2 บน Windows


0

สิ่งนี้เกิดขึ้นเนื่องจากคุณต้องกำหนดค่าเซิร์ฟเวอร์ nginx ของคุณอย่างถูกต้องเพื่อให้บริการแอปพลิเคชันของคุณ คุณสามารถทำได้ตามคู่มือนี้เริ่มต้นในหัวข้อการกำหนดค่า Nginx และรากเว็บ

หลังจากกำหนดค่าลิงก์สัญลักษณ์ของคุณอย่างถูกต้องระหว่าง / etc / nginx / sites-available และ / etc / nginx / sites-enable คุณต้องตรวจสอบให้แน่ใจว่าตัวแปร root ของคุณถูกตั้งค่าเป็นพา ธ โฟลเดอร์ของแอปพลิเคชันของคุณ ตั้งค่ารูท nginx ของคุณจาก

root /usr/share/nginx/html;

ถึง

/home/vagrant/Projects/ProjectOne/public

นอกจากนี้คุณต้องวาง index.php ก่อนไฟล์ html ของคุณเพื่อให้ php แสดงก่อน html เปลี่ยนสิ่งนี้

index index.html index.htm;

สำหรับสิ่งนี้

index index.php index.html index.htm;

หลังจากเสร็จสิ้นการกำหนดค่าของคุณให้รีสตาร์ทเซิร์ฟเวอร์ nginx ของคุณด้วย

sudo service nginx restart

ใบสมัครของคุณควรได้รับการบริการแล้ว


0

ฉันมีปัญหาดังกล่าว ฉันตรวจสอบไฟล์ Homestead.yaml และไฟล์ทั้งหมดและการตั้งค่าทั้งหมดถูกต้อง ปัญหาของฉันถูกลบออกหลังจากทำตามขั้นตอนต่อไปนี้

1- ถ้าคุณอยู่ใน vagrant @ homestead: ~ $ command line ให้พิมพ์exitคำสั่ง

2- ตอนนี้คุณต้องอยู่ในโฟลเดอร์ Homestead เรียกใช้คำสั่งนี้

vagrant reload --provision

3- วิ่ง vagrant ssh

ตอนนี้ถ้าคุณพิมพ์ที่อยู่ที่เกี่ยวข้องในเบราว์เซอร์ของคุณควรแสดงหน้า Laravel


0

ลองรีสตาร์ทคอมพิวเตอร์ของคุณ

มี Homestead ที่ทำงานอยู่ในเครื่องซึ่งเมื่อถึงจุดหนึ่งก็หยุดทำงานและจะได้รับข้อผิดพลาด "ไม่ระบุไฟล์อินพุต" ฉันไม่สามารถติดตามมันได้

เมื่อรีสตาร์ทคอมพิวเตอร์ข้อผิดพลาดจะหายไป


0

หากคุณเปลี่ยนชื่อโฟลเดอร์ที่มีโปรเจ็กต์ Homestead คุณจะได้รับข้อผิดพลาดนี้ ไปที่Homestead.yamlไฟล์ของคุณและอัปเดตการอ้างอิงเพื่อชี้ไปที่โฟลเดอร์ที่เปลี่ยนชื่อจากนั้นทำvagrant up(ฯลฯ ) อีกครั้ง


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.