Jestem nowy w używaniu Laravel i Homestead i byłbym wdzięczny za każdą pomoc lub wskazówkę we właściwym kierunku. Udało mi się przejść do ekranu „Przybyłeś”, kiedy uruchamiam „php rzemieślniczy serwis”, ale kiedy próbuję zrobić to samo za pośrednictwem Vagranta, otrzymuję komunikat „nie określono pliku wejściowego”. Mój plik Homestead.yaml wygląda następująco:
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
Na swoim komputerze mam następujące katalogi:
/Users/me/code/Homestead
/Users/me/code/exampleproject //this is the directory created with composer
Na moim Vagrant Boxie mam z jakiegoś powodu dwa katalogi o nazwach „kod” i „kod”:
/home/vagrant/code/exampleproject
/home/vagrant/Code
Sprawdziłem i widzę, że zmiany dokonane w przykładowych plikach projektów mojego komputera są odzwierciedlone w plikach pola włóczęgi.
Nie bardzo wiem, jak to rozgryźć !! Byłbym wdzięczny za każdą możliwą pomoc :)
vagrant up --provision
nie działa dla mnie, alehomestead up --provision
takvagrant reload --proivision
.Miałem dokładnie ten sam problem i znalazłem rozwiązanie za pomocą larachata.
Oto jak to naprawić, musisz mieć poprawne ustawienia pliku homestead.yaml. Jeśli chcesz wiedzieć, jak to się robi, postępuj zgodnie z samouczkiem Jeffery Way na homestead 2.0 https://laracasts.com/lessons/say-hello-to-laravel-homestead-two .
Teraz, aby naprawić
Input not specified
problem, musisz ssh do pola homestead i wpisaćserve domain.app /home/vagrant/Code/path/to/public/directory
wygeneruje to skrypt służący do nginx. Będziesz musiał to robić za każdym razem, gdy zmieniasz projekty.Omówił również to, co wyjaśniłem w tej serii https://laracasts.com/series/laravel-5-fundamentals/
źródło
serve
automatycznie dla wszystkich?Jest to łatwe do naprawienia, ponieważ zmieniłeś nazwę folderu na: exampleproject
Więc SSH do twojego włóczęgi:
Następnie zmień konfigurację nginx:
sudo vi /etc/nginx/sites-enabled/homestead.app
Edytuj poprawny identyfikator URI do katalogu głównego w wierszu 3 do tego z nową nazwą folderu :
Uruchom ponownie Nginx
Załaduj ponownie przeglądarkę internetową, powinna teraz działać
źródło
U mnie zadziałało:
vagrant reload --provision
źródło
Homestead.yaml
pliku. Na przykład mapowałem,/phpmyadmin
kiedy to była moja nazwa kataloguphpMyAdmin
.Udzielam odpowiedzi na wszelki wypadek, gdyby ktoś borykał się z tym problemem.
Może być konieczne sprawdzenie, czy konfiguracja server.root w „/ etc / ngnx / sites-available / domain” jest zgodna z konfiguracją sites.to w pliku „Homestead.yaml”.
Jeśli nie pasuje, zmień go i uruchom ponownie serwer sieciowy za pomocą polecenia „sudo service nginx restart”
I nadal coś nie działa, zezwól na zapis w folderze „TWOJA WITRYNA / aplikacja / magazyn” jako „chmod -R 777 app / storage”
źródło
Miałem też ten sam problem, założyłem, że Laravel jest instalowany „po wyjęciu z pudełka”, ale wygląda na to, że tak nie jest. Podszedłem do maszyny i wykonałem następujące polecenia:
I wszystko szło jak zwykle.
źródło
Ten problem wystąpił po edycji pliku Homestead.yaml. Rozwiązałem ten problem przez
źródło
Miałem te same problemy
Ale zapomniałem, że specyfikacja mówi, że plik konfiguracyjny będzie znajdować się pod adresem
~ / .homestead / Homestead.yaml i aktualizowałem ~ / Homestead / src / stubs / Homestead.yaml
Więc FIX miał zaktualizować Homestead.yaml znajdujący się tutaj w
~ / .homestead / Homestead.yaml
Przed
sites: - map: homestead.app to: /home/vagrant/Laravel/public
Po
sites: - map: homestead.app to: /home/vagrant/Code/mysitename/public
Potem uciekłem
vagrant up --provision
Mam nadzieję, że to zadziała dla każdego innego.
źródło
Po zmianie nazw niektórych katalogów musiałem zniszczyć i ponownie uruchomić włóczęgę. Żadne z rozwiązań tutaj nie zadziałało.
To zadziałało dla mnie:
źródło
Zrestartuj swoje gospodarstwo. Pracował dla mnie.
źródło
Miałem ten sam problem podczas śledzenia dokumentacji Laravel ( https://laravel.com/docs/5.2/homestead )
Mój problem był bardzo prosty, brakowało mi przeczytania tej części w dokumentach:
Tak więc aktualizowałem zły plik Homestead.yaml, ponieważ plik został przeniesiony, gdy uruchomiłem polecenie bash init.sh.
Zrozumiałem to dopiero po wielu poszukiwaniach, więc mam nadzieję, że to komuś pomoże.
źródło
Po prostu zmagałem się z tą samą sytuacją. Następujące rozwiązano problem:
Jeśli masz taką strukturę katalogów:
Po prostu utwórz folder „publiczny” w ramach przykładowego projektu na komputerze głównym.
źródło
Używam systemu Windows 10 i mam następującą konfigurację Homestead
I PING ed domenę homestead.local i było uzyskanie wyników.
Ale kiedy wpisałem http: //homestead.local w przeglądarce, otrzymałem „nie określono pliku wejściowego” błąd
Sprawdziłem kod / folder publiczny i nie było pliku indeksu. Byłem pewien, że system szukał domyślnego pliku, którego w jakiś sposób brakowało.
Po utworzeniu pliku indeksu zaczął działać dobrze.
Aktualizacja:
Następnym razem, gdy stało się to po zmianie w pliku Homestead.yaml , uruchomiłem
vagrant reload --provision
polecenie i zadziałało.Wygląda na to, że
vagrant reload
samo bieganie nie zapewni miejsca na włóczęgę. Przeczytaj tutajźródło
Uwaga, linux rozróżnia wielkość liter. Prawdopodobnie dlatego widzisz katalog „Kod” i „Kod”.
To, co bym zrobił, to ponowić konfigurację włóczęgi ponownie i jeśli chcesz zachować prostotę i dopasować to, co domyślnie ma pole Homestead, utwórz katalog w "Kodzie" twojego komputera głównego z wielkimi literami.
Możesz także w sekcji „foldery” po prostu zmapować folder „Kod” na swoim komputerze, na wypadek gdybyś zdecydował się później dodać więcej witryn do konfiguracji Homestead. W ten sposób w / home / vagrant / Code / zobaczysz wszystkie projekty swojej witryny i możesz przypisać więcej witryn wskazujących na ich „publiczne” katalogi.
źródło
Jest to prawdopodobne, ponieważ serwer WWW nginx nie jest wskazuje właściwej ścieżki.
Są dwa klucze, na które powinieneś spojrzeć:
map
klucz podfolders
ito
klucz podsites
.folders
Klucz odwzorowuje foldery na komputerze lokalnym do Vagrant VM.sites
Klucz służy do tworzenia wirtualnego hosta na nginx z wartościto
.Chcesz się upewnić, że pozycja
to
poniżejsites
wskazuje właściwą ścieżkępublic
.Problem polegał na tym, że stworzyłem projekt laravela z
composer create laravel/laravel
. Spowodowało to utworzenie folderu w moim bieżącym katalogu o nazwielaravel
. Następnie bez zmiany katalogów zainstalowałem pomocnika homestead zcomposer require laravel/homestead --dev
.Po uruchomieniu
php vendor/bin/homestead make
ivagrant up
moja struktura katalogów wyglądał mniej więcej tak:Mój Homestead.yml wyglądał tak:
Jeśli przyjrzysz się uważnie,
/Users/USER/Sites/sandbox/php/laravel51
ścieżka zostanie zamontowana na włóczącej się maszynie wirtualnej. To jest zły katalog, ponieważ powinien wskazywać na katalog główny projektu Laravel, w którym znajduje się katalog aplikacji. To, co się tutaj stało, polegało na tym, że miałem potrzebować pomocnika zagrody, gdy byłem w katalogu głównym projektu .Więc teraz pytanie brzmi, co mam zrobić? Masz dwie opcje: pozbądź się obecnej maszyny wirtualnej z homestead i zacznij od nowa, ale tym razem z katalogu głównego projektu LUB odzyskaj to, co już masz.
Jeśli chcesz uratować to, co masz, musisz przenieść kilka plików i folder do katalogu głównego projektu laravel.
Oto artefakty, które musisz przenieść:
Plik
composer.json
będzie potrzebne, ponieważ będziesz tego potrzebować później.Przenieś te pliki do katalogu głównego projektu laravel i zmień tam obecny katalog roboczy (
cd laravel
). W tym momencie po prostu zaktualizujmap
underfolders
i upewnij się, że wskazuje na katalog główny projektu. Upewnij się również, żeto
klucz podsites
toto
klucz podfolders
z/public
dołączonym do niego kluczem .Na przykład:
Teraz uruchom
composer require laravel/homestead --dev
tak, aby pomocnik homestead był wymagany w pliku composer.json bieżącego projektu i został zainstalowany.Biegnij
vagrant reload --provision
i wszystko powinno być gotowe.źródło
Zwykle dzieje się tak podczas edycji pliku Homestead.yaml .
Jeśli tak jak ja próbowałeś
homestead up --provision
i nie działałeś! następnie spróbuj tego (to działa dla mnie):homestead destroy
homestead up
źródło
Starsze wersje Homestead odwzorowują foldery
~/Code
na przykład domyślnie~/Code/laravel/public
. Zwróć uwagę na kapitalizację przypadku w~/Code
. W tych jest rozróżniana wielkość liter. Nowe wersje używają małych liter~/code
. Zaktualizuj te katalogi w swoimHomestead.yaml
zgodnie z rzeczywistymi katalogami.TL; DR;
Zaktualizuj
~/Code
do~/code
lub odwrotnie, w zależności od rzeczywistych nazw katalogów.źródło
Dla mnie ten sam problem.
Ani
vagrant provision
albohomestead up --provision
pracował dla mnie, ale nie poniżej - prawdopodobnie jako zagroda została już uruchomiona, kiedy zmodyfikowany plik ymlvagrant reload --provision
źródło
W Laravel 5 musiałem ssh na mój serwer homestead i uruchomić następujące polecenia:
źródło
Oto moje rozwiązanie:
Jest to problem ze ścieżką pliku, więc poniżej znajdują się ścieżki moich folderów i witryn. Musiałem też użyć opcji „niszczenie włóczęgów”, ponieważ udostępnianie nie działało.
źródło
Mój problem był w pliku konfiguracyjnym domeny:
folder publiczny mojego projektu został utworzony w / home / vagrant / Code / demo / public
plik konfiguracyjny domeny (dla mnie /etc/nginx/sites-available/demo.app) miał skonfigurowany: "/ home / vagrant / Code / Laravel / public" zamiast "/ home / vagrant / Code / demo / public ”.
Teraz działa idealnie.
źródło
Miałem podobne problemy z Homestead i samo dostarczenie skrzynki zadziałało. Więc powinieneś spróbować tego:
vagrant provision
źródło
vagrant provision
powiązane kody nie działały u mnie, po straconym czasie zrestartowałem cały system. Teraz działa... -,-"źródło
I edytowane
homestead.yaml
ihosts
według tego poradnika laracast i ponownie używając zagrodyvagrant suspend
,vagrant halt
itp /vagrant up
; Też próbowałemvagrant provision
, aleno file specified
odszedłem dopiero po ponownym uruchomieniu komputera (jestem na komputerze z systemem Windows 7) po wykonaniu wszystkich powyższych czynności. Z pewnością jest to czasochłonny i trudny błąd.Tak
homestead.yaml
wygląda moja praca przy dwóch projektach laravel:a oto moja
hosts
teczka:Uwaga, istnieją dwie oddzielne instalacje programu Laravel w
D:\Projects\ProjectOne
iD:\Projects\ProjectTwo
Następnie uzyskuję dostęp do pierwszego projektu, pisząc
projectone.app:8000
w przeglądarce iprojecttwo.app:8000
do drugiego projektu.PS Przetestowałem to dla Laravel 5.2 w systemie Windows
źródło
Dzieje się tak, ponieważ musisz odpowiednio skonfigurować serwer nginx, aby obsługiwać aplikację. Możesz to zrobić postępując zgodnie z tym przewodnikiem, zaczynając od tematu Konfigurowanie Nginx i katalogu głównego sieci Web .
Po prawidłowym skonfigurowaniu dowiązania symbolicznego między / etc / nginx / sites-available i / etc / nginx / sites-enabled, należy upewnić się, że zmienna główna jest ustawiona na ścieżkę do folderu aplikacji. Ustaw swój katalog główny nginx z
do
Ponadto musisz umieścić plik index.php przed plikami html, aby php był obsługiwany przed html. Zmień to
do tego
Po zakończeniu konfiguracji zrestartuj serwer nginx z
Twoja aplikacja powinna zostać doręczona teraz.
źródło
Miałem taki problem. Sprawdziłem plik Homestead.yaml i wszystkie pliki i wszystkie ustawienia były poprawne. Mój problem zniknął po wykonaniu następujących czynności.
1-Jeśli jesteś w vagrant @ homestead: ~ $ wiersz poleceń, wpisz
exit
polecenie.2- Teraz musisz być w folderze Homestead. uruchom to polecenie
3-bieg
vagrant ssh
Teraz, jeśli wpiszesz powiązany adres w przeglądarce, powinien wyświetlić się strona Laravel.
źródło
Spróbuj ponownie uruchomić komputer
Miał działające Homestead działające lokalnie, które w pewnym momencie zatrzymało się i powodował błąd „Nie określono pliku wejściowego”. Nie mogłem tego wytropić.
Po ponownym uruchomieniu komputera błąd zniknął.
źródło
Jeśli zmienisz nazwę folderu zawierającego projekt Homestead, pojawi się ten błąd. Odwiedź swój
Homestead.yaml
plik i zaktualizuj wszelkie odniesienia, aby wskazywały folder o zmienionej nazwie, a następnie wykonajvagrant up
(itd.) Ponownieźródło
Jeśli używasz nowej wersji larval 7> =, możesz użyć z katalogu domowego
vagrant provision
źródło