Я новичок в использовании 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 по какой-то причине есть два каталога с именами «code» и «Code»:
/home/vagrant/code/exampleproject
/home/vagrant/Code
Я проверил и вижу, что изменения, внесенные в файлы примеров проектов на моем компьютере, отражаются в файлах бродячих ящиков.
Не совсем уверен, как это понять !! Я был бы очень признателен за любую возможную помощь :)
vagrant up --provision
не работает для меня, ноhomestead up --provision
ничегоvagrant reload --proivision
.У меня была такая же проблема, и я нашел решение с помощью ларачата.
Вот как это исправить: вам нужно правильно настроить файл homestead.yaml. Если вы хотите узнать, как это делается, следуйте руководству Джеффри Уэй по усадьбе 2.0 https://laracasts.com/lessons/say-hello-to-laravel-homestead-two .
Теперь, чтобы исправить
Input not specified
проблему, вам нужно ввести ssh в поле усадьбы и ввестиserve domain.app /home/vagrant/Code/path/to/public/directory
это сгенерирует сценарий обслуживания для nginx. Вам нужно будет делать это каждый раз при смене проекта.Он также обсудил то, что я объяснил в этой серии https://laracasts.com/series/laravel-5-fundamentals/
источник
serve
автоматически для всех?Это легко исправить, потому что вы изменили имя папки на: exampleproject
Итак, SSH к вашему бродяге:
Затем измените конфигурацию nginx:
судо vi /etc/nginx/sites-enabled/homestead.app
Измените правильный URI для корня в строке 3 с новым именем папки :
Перезагрузите Nginx
Перезагрузите веб-браузер, теперь он должен работать
источник
Для меня сработало следующее:
vagrant reload --provision
источник
Homestead.yaml
файле с прописными или строчными буквами . Например, я отображал,/phpmyadmin
когда это было мое имя каталога на самом делеphpMyAdmin
.Даю свой ответ на всякий случай, если кто-то борется с этой проблемой.
Возможно, вам потребуется проверить, что конфигурация server.root в "/ etc / ngnx / sites-available / domain" соответствует вашей конфигурации sites.to в "Homestead.yaml".
Если он не совпадает, измените его и перезапустите веб-сервер с помощью «sudo service nginx restart»
И все же что-то не работает, тогда разрешите разрешение на запись для папки «ВАШ САЙТ / приложение / хранилище» как «chmod -R 777 app / storage»
источник
У меня тоже была такая же проблема, я предполагал, что Laravel установлен «из коробки», но, похоже, это не так. Я подключился к машине по SSH и выполнил следующие команды:
И все шло как обычно.
источник
Эта проблема возникла у меня после редактирования Homestead.yaml. Я решил эту проблему
источник
У меня были такие же проблемы
Но забыл, что в спецификациях сказано, что файл конфигурации будет расположен по адресу
~ / .homestead / Homestead.yaml и обновлял ~ / Homestead / src / stubs / 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
Надеюсь, это сработает для кого-нибудь еще.
источник
После того, как я переименовал некоторые каталоги, мне пришлось уничтожить и перезапустить vagrant. Ни одно из решений здесь не сработало.
Это сработало для меня:
источник
Перезагрузите свою усадьбу. Работал у меня.
источник
У меня была такая же проблема, когда я следил за документами Laravel ( https://laravel.com/docs/5.2/homestead )
Моя проблема была очень простой, я пропустил эту часть в документации:
Итак, я обновлял не тот файл Homestead.yaml, поскольку файл был перемещен, когда я запускал команду bash init.sh.
Я понял это только после долгих поисков, так что надеюсь, что это кому-то поможет.
источник
Я просто боролся с той же ситуацией. Следующее решило проблему:
Если у вас есть такая структура каталогов:
Просто создайте «общедоступную» папку в exampleproject на вашем хост-компьютере.
источник
Я использую Windows 10 и имею следующую конфигурацию Homestead
Я PING отредактировал домен homestead.local и получил результаты.
Но когда я набрал http: //homestead.local в браузере, я получил ошибку «не указан входной файл»
Я проверил код / общую папку и не нашел индексного файла. Я был уверен, что система искала файл по умолчанию, который почему-то отсутствовал.
Как только я создал индексный файл, он начал работать нормально.
Обновить:
В следующий раз, когда это произошло после изменения файла Homestead.yaml , я запустил
vagrant reload --provision
команду, и она сработала.Похоже, что
vagrant reload
только запуск не предоставит бродячий ящик. Читать здесьисточник
Предупреждение, Linux чувствителен к регистру. Вероятно, поэтому вы видите каталоги «Код» и «Код».
Что я бы сделал, так это переделал бы настройку бродяги снова, и если вы хотите, чтобы она была простой и соответствовала тому, что по умолчанию установлено в поле Homestead, сделайте свой каталог на вашем хост-компьютере «Кодом» с прописными буквами.
Вы также можете в разделе «папки» просто сопоставить свою папку «Код» на вашем компьютере, если вы решите добавить больше сайтов в настройку Homestead позже. Таким образом, в / home / vagrant / Code / вы увидите все проекты своих сайтов и сможете указать больше сайтов, указывающих на их «общедоступные» каталоги.
источник
Это, вероятно , потому , что Nginx веб - сервер не указывает на правильный путь.
Вам следует посмотреть на два ключа:
map
нижнийfolders
иto
нижнийsites
.folders
Ключ отображает папки на локальном компьютере в бродячей VM.sites
Ключ используется для создания виртуального хоста на Nginx со значением вto
.Вы хотите убедиться, что
to
подsites
указывает правильный путь кpublic
.Проблема заключалась в том, что я создал свой проект laravel с помощью
composer create laravel/laravel
. Это создало папку в моем текущем каталоге с именемlaravel
. Затем, не меняя каталоги, я установил помощник по усадьбеcomposer require laravel/homestead --dev
.После запуска
php vendor/bin/homestead make
иvagrant up
моя структура каталогов выглядела примерно так:Мой Homestead.yml выглядел так:
Если вы присмотритесь,
/Users/USER/Sites/sandbox/php/laravel51
путь будет установлен на бродячую виртуальную машину. Это неправильный каталог, потому что он должен указывать на корень проекта laravel, где находится каталог вашего приложения. Здесь произошло то, что я должен был потребовать помощника по дому, пока я был в корне проекта .Итак, теперь вопрос в том, что мне делать? У вас есть два варианта: избавиться от текущей домашней виртуальной машины и начать заново, но на этот раз из корня проекта ИЛИ спасти то, что у вас уже есть.
Если вы хотите спасти то, что у вас есть, вам придется переместить несколько файлов и папку в корень вашего проекта laravel.
Вот артефакты, которые вам нужно переместить:
Он
composer.json
не понадобится, так как он понадобится вам позже.Переместите эти файлы в корень вашего проекта laravel и измените туда свой текущий рабочий каталог (
cd laravel
). На этом этапе просто обновитеmap
нижнюю частьfolders
и убедитесь, что она указывает на корень проекта. Также убедитесь, чтоto
нижний ключsites
- этоto
нижний ключfolders
с/public
добавленным к нему.Например:
Теперь запустите,
composer require laravel/homestead --dev
чтобы помощник homestead был необходим в файле composer.json вашего текущего проекта и был установлен.Беги,
vagrant reload --provision
и все должно быть готово.источник
Обычно это происходит при редактировании файла Homestead.yaml .
Если, как и я, вы пробовали
homestead up --provision
и не работали! затем попробуйте это (у меня это работает):homestead destroy
homestead up
источник
Старые версии Homestead отображают папки
~/Code
, например, по умолчанию~/Code/laravel/public
. Обратите внимание на регистр букв в~/Code
. Они чувствительны к регистру. В новых версиях используется нижний регистр~/code
. Обновите эти каталоги вHomestead.yaml
соответствии с вашими фактическими каталогами.TL; DR;
Обновите
~/Code
на~/code
или наоборот в зависимости от ваших фактических имен каталогов.источник
То же самое для меня.
Ни то,
vagrant provision
ни другое неhomestead up --provision
сработало для меня, но приведенное ниже - вероятно, поскольку усадьба уже была запущена, когда я изменил файл ymlvagrant reload --provision
источник
В Laravel 5 мне пришлось использовать ssh на моем домашнем сервере и выполнить следующие команды:
источник
Вот мое решение:
Это проблема пути к файлу, поэтому ниже приведены пути к моим папкам и сайтам. Кроме того, мне пришлось использовать "vagrant destroy", поскольку подготовка не работала.
источник
Моя проблема была в конфигурационном файле домена:
общая папка моего проекта была создана в / home / vagrant / Code / demo / public
конфигурационный файл домена (для меня /etc/nginx/sites-available/demo.app) был настроен: «/ home / vagrant / Code / Laravel / public» вместо «/ home / vagrant / Code / demo / public» ".
Теперь он работает идеально.
источник
У меня были аналогичные проблемы с Homestead, и у меня сработало только создание коробки. Итак, вы должны попробовать это:
vagrant provision
источник
vagrant provision
связанные коды не работали для меня, потеряв некоторое время, я перезапустил всю систему. Теперь это работает ... -, - "источник
Я отредактировал
homestead.yaml
и вhosts
соответствии с этим учебником по ларакасту и перезапустил усадьбу, используяvagrant suspend
,vagrant halt
и т. Д. /vagrant up
; Я тоже пыталсяvagrant provision
, ноno file specified
ушел только после того, как перезапустил свой компьютер (я на ПК с Windows 7) после выполнения всего вышеперечисленного. Это, безусловно, трудоемкая и сложная ошибка.Вот как
homestead.yaml
выглядит моя работа над двумя проектами laravel:и вот мой
hosts
файл:Обратите внимание, есть две отдельные установки laravel в
D:\Projects\ProjectOne
иD:\Projects\ProjectTwo
Затем я обращаюсь к первому проекту, набрав его
projectone.app:8000
в браузере, а затемprojecttwo.app:8000
к второму проекту.PS Я тестировал это для Laravel 5.2 в Windows
источник
Это происходит потому, что вам нужно правильно настроить сервер nginx для обслуживания вашего приложения. Вы можете сделать это, следуя этому руководству, начиная с темы Настройка Nginx и веб-корневого каталога .
После правильной настройки вашей символической ссылки между / etc / nginx / sites-available и / etc / nginx / sites-enabled вам необходимо убедиться, что ваша корневая переменная установлена на путь к папке вашего приложения. Установите корень nginx из
к
Кроме того, вы должны поместить index.php перед вашими html-файлами, чтобы php обслуживался до html. Изменить это
к этому
После завершения настройки перезапустите сервер nginx с помощью
Ваше приложение должно быть подано сейчас.
источник
У меня была такая проблема. Я просмотрел файл Homestead.yaml, все файлы и все настройки были правильными. Моя проблема была устранена после следующих шагов.
1-Если вы находитесь в командной строке vagrant @ homestead: ~ $, введите
exit
команду.2- Теперь вы должны быть в папке Homestead. запустите эту команду
3- запустить
vagrant ssh
Теперь, если вы введете соответствующий адрес в своем браузере, он должен отобразить страницу Laravel.
источник
Попробуйте перезагрузить компьютер
Если бы работающий Homestead работал локально, который в какой-то момент останавливался и получал ошибку «Не указан входной файл». Я не мог его отследить.
При перезагрузке компьютера ошибка исчезла.
источник
Если вы переименовали папку, содержащую ваш проект Homestead, вы получите эту ошибку. Посетите свой
Homestead.yaml
файл и обновите все ссылки, чтобы они указывали на переименованную папку, затемvagrant up
повторите (и т. Д.) Снова.источник
Если вы используете новую версию larval 7> =, вы можете использовать из своего домашнего каталога
vagrant provision
источник