Назад | Перейти на главную страницу

На nginx и php-cgi не указан входной файл

Я пытаюсь запустить nginx и php-cgi на моем ПК с Windows, я дошел до того момента, когда я хочу переместить каталог html назад на два каталога, чтобы я мог создать структуру.

Единственная проблема, с которой я сейчас сталкиваюсь, заключается в том, что PHP не принимает никаких файлов .php. Я попытался загрузить статический html-файл (localhost / test.html), и он работает нормально, но localhost / info.php не работает вообще.

Может ли кто-нибудь дать мне какое-то руководство по этому поводу? Часть серверного блока можно найти ниже.

server {
        listen       80;
        server_name  localhost;
        root   ../../www;
        index  index.html index.htm index.php;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location ~ \.php$ {
          fastcgi_pass   127.0.0.1:9123;
          fastcgi_index  index.php;
          fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
          include        fastcgi_params;
        }

Не используйте относительный путь в root директива. Используйте абсолютный путь.

Если вы используете стек NGINX на локальном компьютере для разработки, возможно, есть предварительно настроенный параметр, который воспроизводит Gotcha:

open_basedir = "c:/webserver.;c:/”

Вот вот где я обнаружил ошибку в Windows с WinNMP:

Сегодня я хотел опробовать сервер Nginx на моей машине с Windows. После настройки основных деталей блока сервера для моего проекта я назвал URL сайта. В стеке WT-NMP для быстрой установки нужного мне ПО. В блоке сервера мне нужно было указать мой корневой путь в другом месте, кроме WWW.

Затем, когда я нажал на URL, я получал «Входной файл не указан» для моего PHP-скрипта.

Теперь я не очень люблю читать, поэтому я просто поглядывал туда-сюда и не нашел особого решения. Итак, я просмотрел файлы журнала php. Там я получил сообщение об ошибке, так как путь к моей папке проекта находится за пределами разрешенных путей: (c: / wt-nmp)

Поэтому в основном мне пришлось отредактировать значение php.init open_basedir, чтобы включить путь, по которому я сохранил свой проект. Однако здесь я увидел, что даже водитель считается тропой. В итоге я поставил букву драйвера, поскольку, если я хочу хранить больше веб-сайтов на моем диске «d», я не столкнусь с этой ошибкой. Это последняя строчка. Я выделил текст жирным шрифтом, чтобы указать на внесенные мной изменения.

open_basedir = «c: / wt-nmp.; d: /»

«Счастливый Nginx, хороший Nginx».

php-cgi в Windows, по-видимому, имеет ошибку, касающуюся относительных путей:

[PHP-BUG] Ошибка № 54955 [НОВИНКА]: FastCGI не распознает относительные пути Windows.

Ваши решения:

  1. Абсолютные пути, подобные тому, что сказал Майкл Хэмптон.
  2. Узлы.