यह संभव है क्योंकि nginx वेब सर्वर सही पथ की ओर इशारा नहीं कर रहा है।
दो कुंजी हैं जिन्हें आपको देखना चाहिए: map
कुंजी के तहत folders
और to
कुंजी के नीचे sites
। folders
कुंजी आवारा वी एम के लिए अपने स्थानीय मशीन पर फ़ोल्डरों मैप करता है। sites
कुंजी में मूल्य के साथ nginx पर एक आभासी मेजबान बनाने के लिए प्रयोग किया जाता है to
।
क्या आप सुनिश्चित करना चाहते हैं कि सही रास्ते के लिए अंक के to
तहत sites
है public
।
समस्या यह थी कि मैंने अपना लार्वा प्रोजेक्ट बनाया था 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 पर रखा जाएगा। यह गलत निर्देशिका है क्योंकि यह लार्वा प्रोजेक्ट रूट की ओर इशारा करती है जहां आपका ऐप निर्देशिका है। यहाँ क्या हुआ था कि मुझे प्रोजेक्ट रूट में रहते हुए होमस्टेड हेल्पर की आवश्यकता थी ।
तो अब सवाल यह है कि मैं क्या करूँ? आपके पास दो विकल्प हैं: अपने वर्तमान होमस्टेड वीएम से छुटकारा पाएं और शुरू करें, लेकिन इस बार प्रोजेक्ट रूट या निस्तारण से जो आपने पहले ही कर लिया है।
यदि आप चाहते हैं कि आपके पास क्या है, तो आपको कई फाइलों और एक फ़ोल्डर को अपने लार्वा प्रोजेक्ट रूट पर ले जाना होगा।
इन कलाकृतियों को आपको स्थानांतरित करने की आवश्यकता होगी:
.vagrant
Homestead.yml
Vagrantfile
composer.json
के बाद से आप इसे बाद में की आवश्यकता होती है हो जाएगा की जरूरत नहीं किया जाएगा।
उन फ़ाइलों को अपने लार्वा प्रोजेक्ट रूट पर ले जाएं और अपनी वर्तमान कार्यशील निर्देशिका को वहां बदल दें ( 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
ताकि होमस्टेड हेल्पर को आपके वर्तमान प्रोजेक्ट के कंपोज़र.जसन फ़ाइल में इंस्टॉल किया जाए।
भागो vagrant reload --provision
और तुम सब सेट होना चाहिए।
vagrant up --provision
मेरे लिए काम नहीं किया, लेकिनhomestead up --provision
किया