Je suis nouveau dans l'utilisation de Laravel et Homestead et j'apprécierais toute aide ou un point dans la bonne direction. J'ai réussi à accéder à l'écran "Vous êtes arrivé" lorsque je lance "php artisan serve" mais quand j'essaye de faire la même chose via Vagrant, j'obtiens "aucun fichier d'entrée spécifié". Mon fichier Homestead.yaml ressemble à ceci:
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
Sur mon ordinateur, j'ai les répertoires suivants:
/Users/me/code/Homestead
/Users/me/code/exampleproject //this is the directory created with composer
Sur ma Vagrant Box, j'ai pour une raison quelconque deux répertoires nommés "code" et "Code":
/home/vagrant/code/exampleproject
/home/vagrant/Code
J'ai vérifié et je peux voir que les modifications apportées aux fichiers exemple de mon ordinateur sont reflétées dans les fichiers de la boîte vagrant.
Je ne sais pas vraiment comment comprendre cela !! J'apprécierais vraiment toute aide possible :)
vagrant up --provision
n'a pas fonctionné pour moi, mais ahomestead up --provision
faitvagrant reload --proivision
.J'ai eu exactement le même problème et j'ai trouvé la solution grâce à l'utilisation de larachat.
Voici comment y remédier, vous devez avoir les paramètres de votre fichier homestead.yaml corrects. Si vous voulez savoir comment c'est fait, suivez le tutoriel de Jeffery Way sur homestead 2.0 https://laracasts.com/lessons/say-hello-to-laravel-homestead-two .
Maintenant, pour résoudre le
Input not specified
problème, vous devez ssh dans la boîte de propriété et taperserve domain.app /home/vagrant/Code/path/to/public/directory
cela générera un script de service pour nginx. Vous devrez le faire à chaque fois que vous changez de projet.Il a également discuté de ce que j'ai expliqué dans cette série https://laracasts.com/series/laravel-5-fundamentals/
la source
serve
automatiquement pour tous?Ceci est facile à résoudre, car vous avez changé le nom du dossier en: exempleprojet
Alors SSH à votre vagabond:
Puis changez votre configuration nginx:
sudo vi /etc/nginx/sites-enabled/homestead.app
Modifiez l'URI correct à la racine sur la ligne 3 avec le nouveau nom de dossier :
Redémarrez Nginx
Rechargez le navigateur Web, cela devrait fonctionner maintenant
la source
Pour moi, ce qui suit a fonctionné:
vagrant reload --provision
la source
Homestead.yaml
fichier. Par exemple, je mappais sur le/phpmyadmin
moment où c'était le nom de mon répertoirephpMyAdmin
.Donner ma réponse au cas où quelqu'un serait aux prises avec ce problème.
Vous devrez peut-être vérifier que la configuration server.root dans "/ etc / ngnx / sites-available / domain" correspond à votre configuration sites.to dans "Homestead.yaml".
S'il ne correspond pas, modifiez-le et redémarrez le serveur Web avec "sudo service nginx restart"
Et toujours les choses ne fonctionnent pas alors autorisez l'autorisation d'écriture pour le dossier "YOURSITE / app / storage" comme "chmod -R 777 app / storage"
la source
J'ai également eu le même problème, j'avais supposé que Laravel était installé "prêt à l'emploi" mais il semble que ce ne soit pas le cas. Je me suis connecté en SSH à la machine et j'ai exécuté ces commandes:
Et tout fonctionnait comme d'habitude.
la source
Ce problème s'est produit pour moi après avoir modifié le fichier Homestead.yaml. J'ai résolu ce problème en
la source
J'ai eu les mêmes problèmes
Mais j'ai oublié que les spécifications indiquaient que le fichier de configuration serait situé à
~ / .homestead / Homestead.yaml et mettait à jour ~ / Homestead / src / stubs / Homestead.yaml
Donc, le FIX consistait à mettre à jour le fichier Homestead.yaml situé ici à
~ / .homestead / Homestead.yaml
Avant
sites: - map: homestead.app to: /home/vagrant/Laravel/public
Après
sites: - map: homestead.app to: /home/vagrant/Code/mysitename/public
Puis j'ai couru
vagrant up --provision
J'espère que cela fonctionne pour n'importe qui d'autre.
la source
Après avoir renommé certains répertoires, j'ai dû détruire et relancer vagrant. Aucune des solutions ici n'a fonctionné.
Cela a fonctionné pour moi:
la source
Redémarrez votre ferme. A travaillé pour moi.
la source
J'ai eu le même problème en suivant la documentation Laravel ( https://laravel.com/docs/5.2/homestead )
Mon problème était très simple, j'ai manqué de lire cette partie dans la documentation:
Je mettais donc à jour le mauvais fichier Homestead.yaml, car le fichier a été déplacé lorsque j'ai exécuté la commande bash init.sh.
Je ne m'en suis rendu compte qu'après de nombreuses recherches, alors j'espère que cela aidera quelqu'un.
la source
J'étais juste aux prises avec la même situation. Après avoir résolu le problème:
Si vous avez une structure de répertoires comme celle-ci:
Créez simplement un dossier «public» dans exampleproject sur votre machine hôte.
la source
J'utilise Windows 10 et j'ai la configuration Homestead suivante
J'ai PING ed le domaine homestead.local et j'obtenais des résultats.
Mais lorsque j'ai tapé http: //homestead.local dans le navigateur, j'ai eu l' erreur `` aucun fichier d'entrée spécifié ''
J'ai vérifié le code / dossier public et il n'y avait pas de fichier d'index. J'étais sûr que le système recherchait le fichier par défaut qui manquait en quelque sorte.
Une fois que j'ai créé un fichier d'index, il a commencé à fonctionner correctement.
Mettre à jour:
La prochaine fois que cela s'est produit après un changement dans le fichier Homestead.yaml , j'ai exécuté la
vagrant reload --provision
commande et cela a fonctionné.Il semble que courir
vagrant reload
seulement ne fournira pas la boîte vagabonde. Lisez icila source
Attention, Linux est sensible à la casse. C'est probablement pourquoi vous voyez un répertoire "Code" et un répertoire "code".
Ce que je ferais, c'est refaire la configuration du vagabond à nouveau et si vous voulez rester simple et correspondre à ce que la boîte Homestead a par défaut, faites votre répertoire dans votre machine hôte "Code" avec des majuscules.
Vous pouvez également dans la section «dossiers» simplement mapper vers votre dossier «Code» dans votre machine, au cas où vous décideriez d'ajouter plus de sites à votre configuration de Homestead plus tard. De cette façon, sous / home / vagrant / Code / vous verrez tous vos projets de site et vous pourrez voir plus de sites pointant vers leurs répertoires "publics".
la source
Cela est probablement dû au fait que le serveur Web nginx ne pointe pas vers le bon chemin.
Il y a deux clés que vous devriez regarder: la
map
clé sousfolders
et lato
clé soussites
. Lafolders
clé mappe les dossiers de votre machine locale sur la VM vagabonde. Lasites
clé est utilisée pour créer un hôte virtuel sur nginx avec la valeur dansto
.Ce que vous voulez vous assurer, c'est que
to
soussites
pointe vers le bon cheminpublic
.Le problème était que j'avais créé mon projet laravel avec
composer create laravel/laravel
. Cela a créé un dossier dans mon répertoire actuel nommélaravel
. Ensuite, sans changer de répertoire, j'ai installé l'assistant de ferme aveccomposer require laravel/homestead --dev
.Après l'exécution
php vendor/bin/homestead make
etvagrant up
ma structure de répertoires ressemblait à ceci:Mon Homestead.yml ressemblait à ceci:
Si vous regardez de plus près, le
/Users/USER/Sites/sandbox/php/laravel51
chemin sera monté sur la VM vagabonde. Ce n'est pas le bon répertoire car il doit pointer vers la racine du projet laravel où se trouve le répertoire de votre application. Ce qui s'est passé ici, c'est que j'étais censé avoir besoin de l'aide de la ferme pendant que j'étais à la racine du projet .Alors maintenant, la question est: que dois-je faire? Vous avez deux options: vous débarrasser de votre VM homestead actuelle et recommencer, mais cette fois à partir de la racine du projet OU récupérer ce que vous avez déjà.
Si vous souhaitez récupérer ce que vous avez, vous devrez déplacer plusieurs fichiers et un dossier vers la racine de votre projet laravel.
Voici les artefacts dont vous aurez besoin pour déplacer:
Le
composer.json
ne sera pas nécessaire puisque vous OBLIGEANT plus tard.Déplacez ces fichiers vers la racine de votre projet laravel et remplacez-y votre répertoire de travail actuel (
cd laravel
). À ce stade, mettez simplement à jour lemap
sousfolders
et assurez-vous qu'il pointe vers la racine du projet. Assurez-vous également que lato
clé ci-dessoussites
est lato
clé ci-dessousfolders
avec un/public
appendice.Par exemple:
Maintenant, exécutez
composer require laravel/homestead --dev
pour que l'assistant homestead soit requis dans le fichier composer.json de votre projet actuel et installé.Courez
vagrant reload --provision
et vous devriez être prêt.la source
Cela se produit généralement lorsque vous modifiez le fichier Homestead.yaml .
Si comme moi vous avez essayé
homestead up --provision
et n'avez pas fonctionné! alors essayez ceci (cela fonctionne pour moi):homestead destroy
homestead up
la source
Les versions plus anciennes de Homestead mappent les dossiers
~/Code
par exemple par défaut~/Code/laravel/public
. Notez les capitalisations de cas dans~/Code
. Ceux-ci sont sensibles à la casse. Les nouvelles versions utilisent des minuscules~/code
. Mettez à jour ces répertoires dans votre enHomestead.yaml
fonction de vos répertoires réels.TL, DR;
Mettez
~/Code
à jour~/code
ou vice versa en fonction de vos noms de répertoire réels.la source
Même problème pour moi.
Ni l'un
vagrant provision
ni l' autre ou n'ahomestead up --provision
fonctionné pour moi, mais ce qui suit a fonctionné - probablement car homestead était déjà en cours d'exécution lorsque j'ai modifié le fichier ymlvagrant reload --provision
la source
Dans Laravel 5, je devais ssh dans mon serveur homestead et exécuter ces commandes:
la source
Voici ma solution:
C'est un problème de chemin de fichier, voici donc les chemins de mes dossiers et sites. De plus, j'ai dû utiliser "vagrant destroy" car l'approvisionnement ne fonctionnait pas.
la source
Mon problème était dans le fichier de configuration du domaine:
le dossier public de mon projet a été créé dans / home / vagrant / Code / demo / public
le fichier de configuration du domaine (pour moi /etc/nginx/sites-available/demo.app) avait configuré: "/ home / vagrant / Code / Laravel / public" au lieu de "/ home / vagrant / Code / demo / public ".
Maintenant, il fonctionne parfaitement.
la source
J'ai eu des problèmes similaires avec Homestead et l'approvisionnement de la boîte a fonctionné pour moi. Alors vous devriez essayer ceci:
vagrant provision
la source
vagrant provision
les codes associés ne fonctionnaient pas pour moi, après avoir perdu du temps, j'ai redémarré tout le système. Maintenant ça marche... -,-"la source
J'édité
homestead.yaml
ethosts
selon ce tutoriel laracast et ferme relancée parvagrant suspend
,vagrant halt
etc. /vagrant up
; J'ai essayévagrant provision
aussi, maisno file specified
je ne suis parti qu'après avoir redémarré mon ordinateur (je suis sur un PC Windows 7) après avoir fait tout ce qui précède. C'est certainement une erreur fastidieuse et délicate.Voici à quoi
homestead.yaml
ressemble mon travail pour deux projets laravel:et voici mon
hosts
dossier:Notez qu'il existe deux installations distinctes de laravel dans
D:\Projects\ProjectOne
etD:\Projects\ProjectTwo
J'accède ensuite au premier projet en tapant
projectone.app:8000
dans le navigateur etprojecttwo.app:8000
pour le deuxième projet.PS j'ai testé ceci pour Laravel 5.2 sur Windows
la source
Cela se produit parce que vous devez configurer correctement votre serveur nginx afin de servir votre application. Vous pouvez le faire en suivant ce guide, en commençant par la rubrique Configurer Nginx et la racine Web .
Après avoir correctement configuré votre lien symbolique entre votre / etc / nginx / sites-available et / etc / nginx / sites-enabled, vous devez vous assurer que votre variable racine est définie sur le chemin du dossier de votre application. Définissez votre racine nginx à partir de
à
De plus, vous devez placer index.php avant vos fichiers html afin que php soit servi avant html. Change ça
pour ça
Une fois votre configuration terminée, redémarrez votre serveur nginx avec
Votre demande doit être signifiée maintenant.
la source
J'ai eu un tel problème. J'ai examiné le fichier Homestead.yaml et tous les fichiers et tous les paramètres étaient corrects. Mon problème a été supprimé après les étapes suivantes.
1-Si vous êtes dans vagrant @ homestead: ~ $ ligne de commande, tapez
exit
commande.2- Vous devez maintenant être dans le dossier Homestead. exécuter cette commande
3- courir
vagrant ssh
Maintenant, si vous tapez l'adresse associée dans votre navigateur, la page Laravel devrait s'afficher.
la source
Essayez de redémarrer votre ordinateur
Avait un Homestead fonctionnant en cours d'exécution localement, qui à un moment donné s'est arrêté et obtiendrait l'erreur «Aucun fichier d'entrée spécifié». Je n'ai pas pu le retracer.
Avec un redémarrage de l'ordinateur, l'erreur a disparu.
la source
Si vous avez renommé le dossier contenant votre projet Homestead, vous obtiendrez cette erreur. Visitez votre
Homestead.yaml
fichier et mettez à jour toutes les références pour pointer vers le dossier renommé, puisvagrant up
recommencez (etc.)la source
Si vous utilisez une nouvelle version de larval 7> = vous pouvez utiliser à partir de votre répertoire homested
vagrant provision
la source