Не указан входной файл.
это сообщение об ошибке, отображаемое в браузере.
Я слышал, вы говорите: «Входной файл не указан» означает, что вам нужно проверить сопоставление папок в Homestead.yaml
файл, ну
C:\Users\Andy\Homestead\Homestead.yaml
---
ip: "192.168.10.10"
memory: 2048
cpus: 1
provider: virtualbox
authorize: ~/Homestead/.ssh/id_rsa.pub
keys:
- ~/Homestead/.ssh/id_rsa
folders:
- map: ~/Code
to: /home/vagrant/Code
sites:
- map: test.local
to: ~/Code/test.local
databases:
- homestead
Мой Homestead.yaml
файл отформатирован правильно, т.е. нет табуляции, только пробелы и каталоги отображаются правильно.
Мой проект для начала очень прост:
C:\Users\Andy\Code\test.local\index.php
<?php phpinfo(); ?>
На ВМ:
vagrant@homestead:~$ ls -l /home/vagrant/Code/
drwxrwxrwx 1 vagrant vagrant 0 Apr 14 09:37 test.local
Так ясно, что он существует
Файл моих хостов находится на месте и сопоставлен с правильным IP-адресом
192.168.10.10 test.local
ВМ успешно загружается:
$ vagrant reload --provision
...
homestead-7: SSH username: vagrant
homestead-7: SSH auth method: private key
==> homestead-7: Machine booted and ready!
==> homestead-7: Checking for guest additions in VM...
==> homestead-7: Setting hostname...
...
homestead-7: Running: script: Creating Certificate: test.local
==> homestead-7: Running provisioner: shell...
homestead-7: Running: script: Creating Site: test.local
==> homestead-7: Running provisioner: shell...
homestead-7: Running: script: Restarting Nginx
...
я пробовал
$ vagrant reload --provision
Что же тогда может быть? Несмотря ни на что, я получаю
Не указан входной файл.
Изменить: добавление
rewrite ^/index\.php/(.*)$ /$1 permanent;
location / {
index index.php;
к /etc/nginx/sites-enabled/test.local
и перезапустив сервер nginx, я теперь получаю в браузере сообщение 404 Not Found, я думаю, это прогресс?
Глядя на журнал ошибок:
2017/04/17 12:15:00 [error] 3538#3538: *1 "/usr/share/nginx/~/Code/test.local/index.php" is not found (2: No such file or directory), client: 192.168.10.1, server: test.local, request: "GET / HTTP/1.1", host: "test.local"
Очевидно, что указанный выше путь выглядит ошибочным. Как мой Homestead.yaml
файл подключен к /usr/share/nginx/...
то есть как определить правильный путь?
В конце концов мы добрались до цели. С участием:
sites:
- map: test.local
to: /home/vagrant/Code/test.local
и vagrant reload --provision
мы попали в index.php
файл успешно.
Спасибо
Следует проверить журнал доступа Nginx и C:\Users\Andy\Code\test.local\index.php
не содержит ссылки на homestead.yaml.
Это вопросы и ответы объясняет, как решить проблему. Убедитесь, что конфигурация Nginx содержит ссылку на файл php:
rewrite ^/index\.php/(.*)$ /$1 permanent; location / { index index.php; try_files $uri $uri/ /index.php$args; }