यह संभव है क्योंकि 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किया