À l'aide de Laravel Homestead: "no input file specified'
Je suis nouveau à l'aide de Laravel et la propriété, et serais reconnaissant de toute aide ou un point dans la bonne direction. J'ai réussi à obtenir le "Vous êtes arrivé" à l'écran, quand je lance "php artisan servir" mais quand j'essaie de faire la même chose via Vagabond, j'ai "no input file specified". Mon Homestead.fichier 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 mon Vagrant Box que j'ai pour une raison, les deux répertoires nommés "code" et "Code":
/home/vagrant/code/exampleproject
/home/vagrant/Code
J'ai vérifié et je peux voir les modifications apportées à mon ordinateur exampleproject fichiers sont reflétées dans le vagabond des fichiers.
Pas vraiment sûr de savoir comment comprendre cela!! Je serais vraiment reconnaissant de toute aide possible 🙂
Vous devez vous connecter pour publier un commentaire.
Au lieu d'essayer de réinstaller
ou
vagrant up --provision
ne fonctionne pas pour moi, maishomestead up --provision
n'vagrant provision
a fonctionné pour moi. Mercivagrant reload --proivision
.J'ai eu exactement le même problème et trouvé la solution grâce à l'utilisation de larachat.
Ici comment résoudre ce problème, vous devez avoir votre ferme.fichier yaml les paramètres corrects. Si vous voulez savoir comment il faut faire suivre Jeffery Façon de tutoriel sur la ferme 2.0 https://laracasts.com/lessons/say-hello-to-laravel-homestead-two.
Maintenant pour corriger
Input not specified
problème, vous devez utiliser le protocole ssh dans homestead zone et le typeserve domain.app /home/vagrant/Code/path/to/public/directory
cela va générer un service de script pour nginx. Vous aurez besoin de le faire chaque fois que vous passez projets.Il a également discuté de ce que j'ai expliqué dans cette série https://laracasts.com/series/laravel-5-fundamentals/
serve
automatiquement pour tous?C'est facile à corriger, parce que vous avez changé le nom du dossier à: exampleproject
Donc SSH à votre vagrant:
Alors modifier la config nginx:
sudo vi /etc/nginx/sites-enabled/homestead.app
Modifier URI correct à la racine sur la ligne 3 jusqu'à ce avec le nom du nouveau dossier:
Redémarrer Nginx
Recharger le navigateur web, il devrait maintenant fonctionner
the correct URI
)sudo service nginx reload
a fonctionné pour moi.Pour moi qui suit travaillé:
vagrant reload --provision
Homestead.yaml
fichier. Par exemple, j'ai été la cartographie de/phpmyadmin
quand il mon nom de répertoire, il était réellementphpMyAdmin
.Donner ma réponse juste au cas où si quelqu'un aux prises avec ce problème.
Vous pourriez avoir besoin pour vérifier que le serveur.configuration de la racine dans "/etc/ngnx/sites-available/domaine" appariement avec vos sites.la configuration en "Homestead.yaml".
Si sa ne correspond pas ensuite de le modifier et de redémarrer le serveur avec "sudo service nginx restart"
Et encore les choses ne fonctionnent pas ensuite permettre l'autorisation d'écriture pour le "VOTRESITE/app/stockage" dossier "chmod -R 777/app /stockage"
J'ai également eu le même problème, j'avais supposé que Laravel est installé "out of the box", mais il semble qu'il ne l'est pas. - Je ed SSH à la machine et a couru ces commandes:
Et tout ce qui était en cours d'exécution comme d'habitude.
Ce problème s'est produit pour moi après l'édition de la Ferme.yaml. J'ai résolu ce problème en
J'ai eu les mêmes problèmes
Mais il a oublié que les spécifications dit que le fichier de configuration situé à
~/.ferme/Ferme.yaml
et a été mise à jour
~/Ferme/src/talons/Homestead.yaml
Si le CORRECTIF a été mise à jour le Homestead.yaml ici, à
~/.ferme/Ferme.yaml
Avant
sites:
- map: homestead.app
to: /home/vagrant/Laravel/public
Après
sites:
- map: homestead.app
to: /home/vagrant/Code/mysitename/public
Ensuite, j'ai couru
vagrant up --provision
Espère que cela fonctionne pour n'importe qui d'autre.
Redémarrez votre maison. A travaillé pour moi.
J'ai eu le même problème en suivant le Laravel docs (https://laravel.com/docs/5.2/homestead)
Mon problème est très simple, j'ai manqué de lire cette partie de la doc:
J'ai donc été mise à jour le mauvais Homestead.fichier yaml, puisque le fichier a été déplacé quand j'ai couru le bash init.sh commande.
Je ne l'ai réalisé cet après beaucoup de recherche, donc espérons que cela va aider quelqu'un.
Mot de prudence, linux est sensible à la casse. C'est probablement la raison pour laquelle vous voyez un "Code" et un "code" de répertoire.
Ce que je voudrais faire est de refaire le vagabond nouveau le programme d'installation et si vous voulez garder les choses simples et correspondant à ce que le Homestead zone a comme un défaut de rendre votre répertoire sur votre machine hôte "Code" avec une majuscule.
Vous pourriez également dans les "dossiers" de la section juste la carte à votre "Code" dans le dossier de votre machine, dans le cas où vous décidez d'ajouter d'autres sites à votre Homestead d'installation plus tard. De cette façon sous /home/vagabond/Code/vous verrez tous vos projets de site et vous pouvez le cul plus de sites pointant vers leur "public" des répertoires.
C'est probablement parce que le serveur web nginx est pas pointant vers le droit chemin.
Il y a deux clés que vous devriez regarder: le
map
clé sousfolders
et lato
clé soussites
. Lefolders
clé de cartes dossiers sur votre ordinateur local, le vagabond de la VM. Lesites
clé est utilisée pour créer un hôte virtuel sur nginx avec la valeur de lato
.Ce que vous voulez vous assurer que
to
soussites
points dans le droit chemin àpublic
.Le problème est que j'ai créé mon laravel projet avec
composer create laravel/laravel
. Cela a créé un dossier dans mon répertoire nommélaravel
. Puis, sans modifier les répertoires que j'ai installé le homestead helper aveccomposer require laravel/homestead --dev
.Après l'exécution de
php vendor/bin/homestead make
etvagrant up
ma structure de répertoire cherché quelque chose comme ceci:Mon Homestead.yml ressemblait à ceci:
Si vous regardez de près, les
/Users/USER/Sites/sandbox/php/laravel51
chemin sera monté sur l'errance des VM. C'est le mauvais répertoire, car il doit être dirigée vers le laravel racine du projet où votre répertoire app est. Ce qui s'est passé ici, c'est que j'étais censé exiger le homestead helper alors que j'étais dans la racine du projet.Alors maintenant la question est que dois-je faire? Vous avez deux options: se débarrasser de votre homestead VM et de recommencer, mais cette fois à partir de la racine du projet OU récupérer ce que vous avez déjà.
Si vous voulez récupérer ce que vous avez, vous aurez à déplacer plusieurs fichiers et un dossier à votre laravel racine du projet.
Ce sont les objets que vous aurez besoin de se déplacer:
La
composer.json
ne sera pas nécessaire, car vous en aurez besoin plus tard.Déplacer ces fichiers vers votre laravel racine du projet et de changer votre répertoire de travail en cours à là (
cd laravel
). À ce point il suffit de mettre à jour lemap
sousfolders
et assurez-vous qu'il pointe vers la racine du projet. Assurez-vous également que leto
clé soussites
est leto
clé sousfolders
avec/public
ajouté.Par exemple:
Maintenant exécuter
composer require laravel/homestead --dev
de sorte que le homestead d'aide est requis dans votre projet en cours de compositeur.fichier json et installé.Exécuter
vagrant reload --provision
et vous devriez être tous ensemble.Les anciennes versions de Homestead cartes de dossiers dans
~/Code
- à-dire par exemple par défaut~/Code/laravel/public
. Avis le cas capitalisations dans~/Code
. Ces sont sensibles à la casse. De nouvelles versions sont en minuscules~/code
. Mise à jour de ces répertoires dans votreHomestead.yaml
en fonction de vos réels répertoires.TL;DR;
Mise à jour
~/Code
à~/code
ou vice-versa en fonction de vos noms de répertoire.J'étais juste aux prises avec la même situation. Suivant le problème est réglé:
Si vous avez un répertoire structure comme ceci:
Il suffit de créer "public" dossier dans exampleproject sur votre machine hôte.
Après j'ai renommé certains répertoires, j'ai dû détruire et exécutez à nouveau le vagabond. Aucune des solutions travaillaient ici.
Cela a fonctionné pour moi:
Dans Laravel 5 j'ai dû faire un ssh sur mon homestead serveur et exécutez ces commandes:
Voici ma solution:
C'est un chemin d'accès au fichier de problème donc, ci-dessous sont mes dossiers & sites chemins. Aussi, j'ai dû utiliser "vagrant détruire" que la configuration n'a pas fonctionné.
Cela se produit généralement lorsque vous modifiez le Homestead.yaml fichier.
Si comme moi vous avez essayé
homestead up --provision
et n'a pas travaillé!ensuite, essayez ceci (il fonctionne pour moi):
homestead destroy
homestead up
Mon problème était dans le fichier de configuration du domaine:
le dossier public de mon projet a été créé dans /home/vagabond/Code/demo/public
le fichier de configuration du domaine (pour moi /etc/nginx/sites-available/démo.app) a configuré: "/home/vagabond/Code/Laravel/public" au lieu de "/home/vagabond/Code/demo/public".
Maintenant, c'est le travail parfait.
J'ai eu des problèmes similaires avec Homestead et juste la configuration de la boîte a travaillé pour moi. Ainsi, vous devriez essayer ceci:
vagrant provision
vagrant provision
codes ne fonctionne pas pour moi, après avoir perdu un peu de temps, j'ai redémarrer l'ensemble du système. Maintenant il fonctionne... -,-"J'ai édité
homestead.yaml
ethosts
selon ce tutoriel laracast et redémarré ferme à l'aide devagrant suspend
,vagrant halt
, etc. /vagrant up
; J'ai essayé devagrant provision
, maisno file specified
seulement s'en alla après je redémarré mon ordinateur (je suis sur PC Windows 7) après avoir fait toutes les ci-dessus. C'est certainement une perte de temps et difficile d'erreur.C'est ce que mon travail
homestead.yaml
ressemble pour deux laravel projets:et voici mon
hosts
fichier:Remarque, il y a deux installations distinctes de laravel dans
D:\Projects\ProjectOne
etD:\Projects\ProjectTwo
Je puis accéder au premier projet en tapant
projectone.app:8000
dans le navigateur etprojecttwo.app:8000
pour le second projet.P. S. j'ai testé pour Laravel 5.2 sur Windows
Cela se produit parce que vous avez besoin pour configurer votre serveur nginx correctement afin de vous servir de l'application. Vous pouvez le faire en suivant ce guide, à partir de la rubrique Configurer Nginx et la Racine Web.
Après avoir correctement la configuration de votre lien symbolique entre votre /etc/nginx/sites-available et /etc/nginx/sites-enabled, vous devez vous assurer que votre racine de la variable est mise à votre demande le chemin d'accès au dossier. Définissez votre nginx racine de
à
Aussi, vous avez de la place index.php avant que vos fichiers html pour php est servi avant de html. Modifier ce
à ce
Après avoir terminé votre configuration, redémarrez votre serveur nginx avec
Votre demande doit être servi maintenant.
Je suis avec Windows 10 et a la suite de Homestead configuration
Je PINGed le homestead.domaine local et a été l'obtention de résultats.
Mais quand j'ai tapé http://homestead.local dans le navigateur, j'ai eu "no input file specified' erreur
J'ai vérifié le code/dossier public et il n'y a pas de fichier index. J'étais sûr que le système était à la recherche pour le fichier par défaut qui a été en quelque sorte disparu.
Une fois, j'ai créé un fichier d'index qu'il a commencé à bien fonctionner.
Même problème pour moi.
Ni
vagrant provision
ouhomestead up --provision
a fonctionné pour moi, mais le ci-dessous n' - probablement comme homestead était déjà en cours d'exécution lorsque j'ai modifié le fichier ymlvagrant reload --provision