Использование 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.

не совсем уверен, как это выяснить!! Я был бы очень признателен за любую возможную помощь:)

252   23  

23 ответов:

вместо переустановки попробовать

vagrant up --provision

или

homestead up --provision

у меня была такая же точная проблема, и я нашел решение с помощью 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 vagrant@127.0.0.1 -p 2222

затем измените конфигурацию nginx:

sudo vi/etc/nginx/sites-enabled / homestead.приложение

Edit правильный URI к корню в строке 3 к этому С новым именем папки:

root "/Users/MYUSERNAME/Code/exampleproject/public";

Перезапустить Nginx

sudo service nginx reload

перезагрузите веб-браузер, он должно работать сейчас

давая мой ответ на всякий случай, если кто-то борется с этой проблемой.

  1. возможно, Вам потребуется проверить, что сервер.конфигурация корня в"/etc/ngnx/sites-available / domain " соответствие с вашим sites.to конфиг в "усадьбе.и YAML".

  2. Если он не соответствует, измените его и перезапустите веб-сервер с помощью "sudo service nginx restart"

  3. и все еще вещи не работают, то разрешить разрешение на запись для "

У меня тоже была такая же проблема, я-то думал, что 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

для меня сработало следующее:

vagrant reload --provision

у меня были те же проблемы

но забыл, что спецификации сказали, что файл конфигурации будет расположен в

~/.усадьба/Усадьба.и 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

надеюсь, что это работает для кого-либо еще.

перезагрузите ваш дом. Работать на меня.

homestead destroy
homestead up

У меня была та же проблема, следуя 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

вот мое решение:

это проблема пути к файлу, поэтому ниже приведены мои папки и пути к сайтам. Кроме того, мне пришлось использовать "vagrant destroy", поскольку подготовка не работала.

enter image description here

обычно это происходит при редактировании Хоумстед.и YAML.

Если ты вроде меня пробовал homestead up --provision и не работал! тогда попробуйте это (это работает для меня):

  • homestead destroy
  • homestead 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

а вот и мой hosts file:

...
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
    Ничего не найдено.

Добавить ответ:
Отменить.