Использование Laravel Homestead: 'входной файл не указан'
Я новичок в использовании Laravel и Homestead, и был бы признателен за любую помощь или точку в правильном направлении. Я успешно смог добраться до экрана" вы прибыли", когда я запускаю" php artisan serve", но когда я пытаюсь сделать то же самое через Vagrant, я получаю"нет указанного входного файла". Моя Усадьба.файл 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
на моей бродячей коробке у меня почему-то два каталоги с именами "код" и "код":
/home/vagrant/code/exampleproject
/home/vagrant/Code
Я проверил, и я вижу, что изменения, внесенные в файлы exampleproject моего компьютера, отражены в файлах vagrant box.
не совсем уверен, как это выяснить!! Я был бы очень признателен за любую возможную помощь:)
23 ответов:
у меня была такая же точная проблема, и я нашел решение с помощью larachat.
вот как это исправить вам нужно иметь свою усадьбу.настройки файла 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/
Это легко исправить, потому что вы изменили название папки: exampleproject
Так что SSH вашему бродяге:
ssh [email protected] -p 2222затем измените конфигурацию nginx:
sudo vi/etc/nginx/sites-enabled / homestead.приложение
Edit правильный URI к корню в строке 3 к этому С новым именем папки:
root "/Users/MYUSERNAME/Code/exampleproject/public";Перезапустить Nginx
sudo service nginx reloadперезагрузите веб-браузер, он должно работать сейчас
давая мой ответ на всякий случай, если кто-то борется с этой проблемой.
возможно, Вам потребуется проверить, что сервер.конфигурация корня в"/etc/ngnx/sites-available / domain " соответствие с вашим sites.to конфиг в "усадьбе.и YAML".
Если он не соответствует, измените его и перезапустите веб-сервер с помощью "sudo service nginx restart"
и все еще вещи не работают, то разрешить разрешение на запись для "
У меня тоже была такая же проблема, я-то думал, что Laravel установлен "из коробки", но похоже это не так. Я СШ объед машины и побежал следующие команды:
cd Code sudo composer self-update #not necessary, but I did it anyways composer create-project laravel/laravel Laravel --prefer-distи все работало как обычно.
эта проблема возникла у меня после редактирования усадьбы.и YAML. Я решил эту проблему с помощью
homestead destroy homestead up
у меня были те же проблемы
но забыл, что спецификации сказали, что файл конфигурации будет расположен в
~/.усадьба/Усадьба.и YAML и было обновление ~/Усадьба/ГРЦ/заглушки/Хомстед.и YAML
таким образом, исправление состояло в том, чтобы обновить усадьбу.ямл расположен здесь по адресу
~/.усадьба/Усадьба.и YAML
до
sites: - map: homestead.app to: /home/vagrant/Laravel/publicпосле
sites: - map: homestead.app to: /home/vagrant/Code/mysitename/publicЗатем Я РАН
vagrant up --provisionнадеюсь, что это работает для кого-либо еще.
У меня была та же проблема, следуя Laravel docs (https://laravel.com/docs/5.2/homestead)
моя проблема была очень проста, я пропустил прочитать эту часть в документах:
Хоумстед.файл yaml будет помещен в~/.усадьба скрытая каталог:
Так что я обновлял не ту усадьбу.файл yaml, так как файл был перемещен, когда я запускал bash init.sh командование.
Я понял это только после того, как много поиск, так что надеюсь, что это поможет кому-то.
слово предостережения, linux чувствителен к регистру. Вероятно, поэтому вы видите каталог "код" и "код".
то, что я бы сделал, это снова повторить настройку vagrant, и если вы хотите сохранить ее простой и соответствующей тому, что поле Homestead имеет по умолчанию, сделайте свой каталог в своем коде хост-машины с прописными буквами.
вы также можете в разделе" папки "просто сопоставить свою папку "код" на вашем компьютере, если вы решите добавить больше сайтов в свою настройку усадьбы позже. Таким образом, в разделе /home/vagrant/Code/ вы увидите все свои проекты сайтов, и вы можете использовать больше сайтов, указывающих на их "общедоступные" каталоги.
это, вероятно, потому, что веб-сервер nginx не указывая на правильный путь.
есть два ключа, которые вы должны посмотреть:
старые версии папок карты усадьбы в
~/Codeнапример по умолчанию~/Code/laravel/public. Обратите внимание на заглавные буквы дела в~/Code. Они чувствительны к регистру. В новых версиях используется нижний регистр~/code. Обновите эти каталоги в вашемHomestead.yamlсогласно вашим фактическим каталогах.TL; DR;
обновление
~/Codeдо~/codeили наоборот в зависимости от ваших фактических имен каталогов.
Я просто боролся с той же ситуацией. Следующее решило проблему:
Если у вас есть такая структура каталогов:
folders: - map: /Users/me/code/exampleproject to: /home/vagrant/code/exampleprojectпросто создайте папку "public" в exampleproject на вашем хост-компьютере.
в Laravel 5 я должен был ssh в моем сервере усадьбы и запустить эти команды:
sudo chmod -R 777 storage sudo chmod -R 777 bootstrap/cache
обычно это происходит при редактировании Хоумстед.и YAML.
Если ты вроде меня пробовал
homestead up --provisionи не работал! тогда попробуйте это (это работает для меня):
homestead destroyhomestead up
моя проблема была в конфигурационном файле домена:
общая папка моего проекта была создана в /home / vagrant / Code / demo / public
конфигурационный файл домена (для меня / etc/nginx/sites-available / demo.приложение) настроил: "/домашний/бродяга/код/фреймворк Laravel/публичных" вместо "/домашний/бродяга/код/демо/публичное".
теперь он работает идеально.
У меня были подобные проблемы с Homestead и просто подготовка коробки работала для меня. Так что вы должны попробовать это:
vagrant provision
vagrant provisionсвязанные коды не работали для меня, после потерянного времени, я перезапустил всю систему. Теперь это работает... - , -"
я отредактировал
homestead.yamlиhostsпо данным это laracast учебник и перезапустил усадьбу с помощьюvagrant suspend,vagrant haltи т. д. /vagrant up; Я пыталсяvagrant provision, ноno file specifiedушел только после того, как я перезагрузил компьютер (Я на Windows 7 ПК) после выполнения всего вышеперечисленного. Это, безусловно, трудоемкая и сложная ошибка.это то, что моя работа
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а вот и мой
hostsfile:... 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для второго проекта.P. S. Я проверил это на что Laravel 5.2 на Windows
это происходит потому, что вам нужно правильно настроить сервер nginx, чтобы обслуживать ваше приложение. Вы можете сделать это, следуя этому руководству, начиная с темы настройка Nginx и веб-корень.
после правильно настройка символической ссылки между вашим /etc/nginx /sites-available и/etc/nginx / sites-enabled вам нужно убедиться, что ваша корневая переменная установлена в путь к папке вашего приложения. Установите корень nginx из
root /usr/share/nginx/html;до
/home/vagrant/Projects/ProjectOne/publicкроме того, вы должны разместить индекс.php перед вашими html-файлами, поэтому php подается перед html. Измените это
index index.html index.htm;этой
index index.php index.html index.htm;после завершения настройки перезапустите сервер nginx с помощью
sudo service nginx restartваше заявление должно быть подано сейчас.
после того, как я переименовал некоторые каталоги, мне пришлось уничтожить и перезапустить vagrant после того, как ни одно из решений здесь не работало.
это сработало для меня:
vagrant destroy vagrant up

Comments