Eu sou novo no uso do Laravel e Homestead, e apreciaria qualquer ajuda ou um ponto na direção certa. Consegui obter com sucesso a tela "Você chegou" quando executo "php artisan serve", mas quando tento fazer a mesma coisa através do Vagrant, obtenho "nenhum arquivo de entrada especificado". Meu arquivo Homestead.yaml se parece com este:
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
No meu computador, tenho os seguintes diretórios:
/Users/me/code/Homestead
/Users/me/code/exampleproject //this is the directory created with composer
No meu Vagrant Box eu tenho por algum motivo dois diretórios chamados "code" e "Code":
/home/vagrant/code/exampleproject
/home/vagrant/Code
Eu verifiquei e posso ver as alterações feitas em meus arquivos de projeto de exemplo de computador são refletidas nos arquivos vagrant box.
Não tenho certeza de como descobrir isso !! Eu realmente apreciaria qualquer ajuda possível :)
vagrant up --provision
não funcionou para mim, mashomestead up --provision
funcionouvagrant reload --proivision
.Eu tive exatamente o mesmo problema e encontrei a solução através do uso do larachat.
Veja como consertar você precisa ter as configurações do arquivo homestead.yaml corretas. Se você quiser saber como isso é feito, siga o tutorial do Jeffery Way no homestead 2.0 https://laracasts.com/lessons/say-hello-to-laravel-homestead-two .
Agora, para consertar o
Input not specified
problema, você precisa entrar na caixa do domicílio e digitarserve domain.app /home/vagrant/Code/path/to/public/directory
isso irá gerar um script de serviço para nginx. Você precisará fazer isso sempre que mudar de projeto.Ele também discutiu o que expliquei nesta série https://laracasts.com/series/laravel-5-fundamentals/
fonte
serve
automaticamente para todos?Isso é fácil de corrigir, porque você alterou o nome da pasta para: exampleproject
Então SSH para o seu vagabundo:
Em seguida, altere a configuração do nginx:
sudo vi /etc/nginx/sites-enabled/homestead.app
Edite o URI correto para a raiz na linha 3 com o novo nome da pasta :
Reinicie o Nginx
Recarregue o navegador da web, ele deve funcionar agora
fonte
Para mim funcionou o seguinte:
vagrant reload --provision
fonte
Homestead.yaml
arquivo. Por exemplo, eu estava mapeando para/phpmyadmin
quando meu nome de diretório era na verdadephpMyAdmin
.Dando minha resposta apenas no caso de alguém lutando com esse problema.
Você pode precisar verificar se a configuração server.root em "/ etc / ngnx / sites-available / domain" corresponde aos seus sites.to config em "Homestead.yaml".
Se não corresponder, altere-o e reinicie o servidor da web com "sudo service nginx restart"
E ainda assim as coisas não estão funcionando, então conceda permissão de gravação para a pasta "YOURSITE / app / storage" como "chmod -R 777 app / storage"
fonte
Eu também tive o mesmo problema, presumi que o Laravel já estava instalado "fora da caixa", mas parece que não. Fiz SSH para a máquina e executei estes comandos:
E tudo estava funcionando normalmente.
fonte
Esse problema ocorreu para mim depois de editar Homestead.yaml. Eu resolvi esse problema por
fonte
Eu tive os mesmos problemas
Mas esqueci que as especificações diziam que o arquivo de configuração estaria localizado em
~ / .homestead / Homestead.yaml e estava atualizando ~ / Homestead / src / stubs / Homestead.yaml
Portanto, o FIX foi atualizar o Homestead.yaml localizado aqui em
~ / .homestead / Homestead.yaml
Antes
sites: - map: homestead.app to: /home/vagrant/Laravel/public
Depois de
sites: - map: homestead.app to: /home/vagrant/Code/mysitename/public
Então eu corri
vagrant up --provision
Espero que funcione para mais alguém.
fonte
Depois de renomear alguns diretórios, tive que destruir e executar novamente o vagrant. Nenhuma das soluções aqui funcionou.
Isso funcionou para mim:
fonte
Reinicie sua propriedade. Funcionou para mim.
fonte
Eu tive o mesmo problema ao seguir os documentos do Laravel ( https://laravel.com/docs/5.2/homestead )
Meu problema era muito simples, não li esta parte da documentação:
Então, eu estava atualizando o arquivo Homestead.yaml errado, já que o arquivo foi movido quando executei o comando bash init.sh.
Só percebi isso depois de muita pesquisa, então espero que isso ajude alguém.
fonte
Eu estava lutando com a mesma situação. O seguinte resolveu o problema:
Se você tiver uma estrutura de diretório como esta:
Basta criar a pasta 'pública' dentro do exampleproject em sua máquina host.
fonte
Estou usando o Windows 10 e tem a seguinte configuração Homestead
Fiz PING para o domínio homestead.local e estava obtendo resultados.
Mas quando digitei http: //homestead.local no navegador, recebi o erro 'nenhum arquivo de entrada especificado'
Verifiquei o código / pasta pública e não havia nenhum arquivo de índice. Eu tinha certeza de que o sistema estava procurando o arquivo padrão que estava faltando.
Depois de criar um arquivo de índice, ele começou a funcionar bem.
Atualizar:
Da próxima vez que aconteceu depois de uma alteração no arquivo Homestead.yaml , executei o
vagrant reload --provision
comando e funcionou.Parece que
vagrant reload
apenas correr não irá provisionar a caixa vagrant. Leia aquifonte
Aviso: o linux diferencia maiúsculas de minúsculas. É provavelmente por isso que você vê um diretório "Código" e um "código".
O que eu faria é refazer a configuração do vagrant novamente e se você quiser mantê-la simples e combinando com o que a caixa Homestead tem como padrão, faça seu diretório em sua máquina host "Código" com letras maiúsculas.
Você também pode na seção "pastas" mapear apenas para sua pasta "Código" em sua máquina, caso você decida adicionar mais sites à configuração de Homestead posteriormente. Dessa forma, em / home / vagrant / Code / você verá todos os projetos de seu site e poderá atribuir mais sites apontando para seus diretórios "públicos".
fonte
Provavelmente, o servidor da web nginx não está apontando para o caminho correto.
Há duas chaves que você deve observar: a
map
chave abaixofolders
e ato
chave abaixosites
. Afolders
chave mapeia pastas em sua máquina local para a VM vagrant. Asites
chave é usada para criar um host virtual no nginx com o valor emto
.O que você quer ter a certeza é que
to
sobsites
aponta para o caminho certo parapublic
.O problema é que criei meu projeto laravel com
composer create laravel/laravel
. Isso criou uma pasta em meu diretório atual chamadalaravel
. Então, sem alterar os diretórios, instalei o ajudante de propriedade rural comcomposer require laravel/homestead --dev
.Depois de executar
php vendor/bin/homestead make
evagrant up
minha estrutura de diretório ficou mais ou menos assim:My Homestead.yml era assim:
Se você olhar de perto, o
/Users/USER/Sites/sandbox/php/laravel51
caminho será montado na VM vagrant. Este é o diretório errado porque deveria estar apontando para a raiz do projeto laravel onde está o diretório do seu aplicativo. O que aconteceu aqui foi que eu deveria exigir o ajudante da propriedade rural enquanto estava na raiz do projeto .Portanto, agora a questão é o que eu faço? Você tem duas opções: livrar-se de sua VM de domicílio atual e começar de novo, mas desta vez a partir da raiz do projeto OU recuperar o que você já tem.
Se você quiser recuperar o que possui, terá que mover vários arquivos e uma pasta para a raiz do projeto laravel.
Estes são os artefatos que você precisará mover:
O
composer.json
não será necessário porque você o solicitará mais tarde.Mova esses arquivos para a raiz do projeto laravel e altere o diretório de trabalho atual para lá (
cd laravel
). Nesse ponto, basta atualizar omap
underfolders
e certificar-se de que ele está apontando para a raiz do projeto. Certifique-se também de que ato
chave abaixosites
é ato
chavefolders
com/public
anexado a ela.Por exemplo:
Agora execute
composer require laravel/homestead --dev
para que o ajudante de propriedade familiar seja necessário no arquivo composer.json do seu projeto atual e instalado.Corra
vagrant reload --provision
e você deve estar pronto.fonte
Isso geralmente acontece quando você edita o arquivo Homestead.yaml .
Se como eu você tentou
homestead up --provision
e não funcionou! então tente isto (funciona para mim):homestead destroy
homestead up
fonte
Versões mais antigas de pastas de mapas de Homestead,
~/Code
por exemplo, por padrão~/Code/laravel/public
. Observe as maiúsculas e minúsculas em~/Code
. Eles são sensíveis a maiúsculas e minúsculas. As novas versões usam letras minúsculas~/code
. Atualize esses diretórios deHomestead.yaml
acordo com seus diretórios reais.TL; DR;
Atualize
~/Code
para~/code
ou vice-versa, dependendo dos nomes reais dos seus diretórios.fonte
O mesmo problema para mim.
Nenhum
vagrant provision
ouhomestead up --provision
funcionou para mim, mas o abaixo funcionou - provavelmente porque o homestead já estava em execução quando modifiquei o arquivo ymlvagrant reload --provision
fonte
No Laravel 5, tive que fazer ssh no servidor de minha propriedade e executar estes comandos:
fonte
Esta é minha solução:
É um problema de caminho de arquivo, então abaixo estão os caminhos de minhas pastas e sites. Além disso, tive que usar "vagrant destroy" porque o provisionamento não funcionou.
fonte
Meu problema estava no arquivo de configuração do domínio:
a pasta pública do meu projeto foi criada em / home / vagrant / Code / demo / public
o arquivo de configuração do domínio (para mim /etc/nginx/sites-available/demo.app) configurou: "/ home / vagrant / Code / Laravel / public" em vez de "/ home / vagrant / Code / demo / public "
Agora está funcionando perfeitamente.
fonte
Eu tive problemas semelhantes com Homestead e apenas provisionar a caixa funcionou para mim. Então você deve tentar isto:
vagrant provision
fonte
vagrant provision
códigos relacionados não funcionaram para mim, depois de perder algum tempo, reiniciei todo o sistema. Agora funciona ... -, - "fonte
I editada
homestead.yaml
ehosts
de acordo com este tutorial laracast e herdade reiniciado usandovagrant suspend
,vagrant halt
etc. /vagrant up
; Eu tenteivagrant provision
também, masno file specified
só fui embora depois de reiniciar meu computador (estou usando um PC com Windows 7) depois de fazer todas as opções acima. Certamente é um erro demorado e complicado.É assim que meu trabalho se
homestead.yaml
parece para dois projetos laravel:e aqui está meu
hosts
arquivo:Observe, existem duas instalações separadas de laravel em
D:\Projects\ProjectOne
eD:\Projects\ProjectTwo
Em seguida, acesso o primeiro projeto digitando
projectone.app:8000
no navegador eprojecttwo.app:8000
para o segundo projeto.PS Eu testei isso para Laravel 5.2 no Windows
fonte
Isso acontece porque você precisa configurar seu servidor nginx adequadamente para servir seu aplicativo. Você pode fazer isso seguindo este guia, começando no tópico Configure Nginx and the Web Root .
Depois de configurar corretamente o link simbólico entre o / etc / nginx / sites-available e / etc / nginx / sites-enabled, você precisa ter certeza de que a variável raiz está definida para o caminho da pasta do seu aplicativo. Defina sua raiz nginx de
para
Além disso, você deve colocar index.php antes de seus arquivos html para que o php seja servido antes do html. Mude isso
para isso
Depois de terminar a configuração, reinicie o servidor nginx com
Seu aplicativo deve ser servido agora.
fonte
Eu tive esse problema. Eu revisei o arquivo Homestead.yaml e todos os arquivos e todas as configurações estavam corretas. Meu problema foi removido após as etapas a seguir.
1-Se você estiver em vagrant @ homestead: ~ $ linha de comando, digite
exit
comando.2- Agora você deve estar dentro da pasta Homestead. execute este comando
3- correr
vagrant ssh
Agora, se você digitar o endereço relacionado em seu navegador, ele deverá mostrar a página do Laravel.
fonte
Tente reiniciar seu computador
Tinha um Homestead funcionando localmente, que em algum ponto parou e receberia o erro "Nenhum arquivo de entrada especificado". Eu não consegui rastreá-lo.
Com a reinicialização do computador, o erro desapareceu.
fonte
Se você renomeou a pasta que contém seu projeto Homestead, receberá este erro. Visite seu
Homestead.yaml
arquivo e atualize todas as referências para apontar para a pasta renomeada e façavagrant up
(etc.) novamentefonte
Se você está usando uma nova versão do larval 7> = você pode usar a partir do seu diretório
vagrant provision
fonte