Когда выдаётся сообщение "No input file specified" ?

izo

Новичок
Когда выдаётся сообщение "No input file specified" ?

Дарова. Хелп.

В строке браузера делаю запрос типа страницы one.html.
В htaccessе этот запрос перенаправляется(FilesMatch) на index.shtml в котором шаблон базовой страницы и include на скрипт php (script.cgi) который находится в папке cgi, где и лежат все скрипты.

в script.cgi написано:

#!/usr/local/php/bin/php -q
<?php
....прога....
?>

Но. Вместо результата работы скрипта выдаётся сабжевое сообщение.

Как это можно исправить? В чём может быть дело?

Если на прямую сослатmся на index.shtml, то всё работает.
PHP Version 5.0.2 установлен как cgi.
Apache - 1. чего то там.
unix os - red hat похоже.
 

kvf77

Red Devil
izo

ну так покажи каким образом запрашиваешь - кусок кода короче
 

izo

Новичок
В строке браузера:

http://www.path.ru/dir1/main.html

В htaccess:

<FilesMatch index.shtml>
ForceType text/html
</FilesMatch>

Action throw /dir1/index.shtml
<FilesMatch "^(.+\.*html)$">
ForceType throw
</FilesMatch>

В index.shtml:

<!--#include virtual="/cgi/script.cgi" -->

В script.cgi:

#!/usr/local/php/bin/php -q
<?php
include 'что_то_там_ещё.inc';
?>
 

kvf77

Red Devil
izo

ну я так и думал - FAQ читать кто-нибудь начнет?

Различия между абсолютными и относительными путями:
http://phpfaq.ru/paths
 

izo

Новичок
Почитал фак. Это никак не помогло. Ничего нового.
Лучше скажите где конкретно я совершил ошибку если так?

Напомню, что при прямом обращении к фалу index.shtml - всё работает.
 

alexhemp

Новичок
izo

Ты совершил ошибку не указав правильный путь к файлу - это очевидно. Как указать путь правильно написано по ссылке данной тебе выше.
 

izo

Новичок
А в каком месте я непрально указал путь к файлу?
Скажите конкретно. Я не просто так настаиваю. Подозреваю что проблема глубже чем просто неверный линк. Потому что я пробовал все возможные варианты линков(относительные/абсолютные). И тот что приведён в примере один единственный который работает.

-~{}~ 10.10.05 07:49:

alexhemp
Дык какому файлу я неправильно указал путь? (я не могу понять)

А подсказать видимо никто не подскажет...

-~{}~ 10.10.05 10:03:

Я пробовал ссылатся на скрипт на прямую через htaccess:
AddHandler mytype .html
Action mytype /cgi/script.cgi

И всё равно та же надпись падает:
No input file specified.

Похоже, что по каким то причинам интерпретатор пхп некооретно запускается, или вообще не воспринимает файл со сриптом если к нему обращаются через htaccess. Вопрос почему....
 

Фанат

oncle terrible
Команда форума
сообщение No input file specified выдаётся тогда, когда интерпретатор запускается, но никакого имени файла ему не передаётся.

Надо сказать, что твоя ситуация довольно странная.
Во-первых - чудовищное нагромождение вызовов(этот перенаправил туда, тот инклюдит второго, второй вызвал третьего, третий проинклюдил ещё что-то).
Неужели нельзя отлаживать скрипт напрямую? и далее по цепочке ловить косяк?
во-вторых, довольно странное сообщение, действительно. я такое получал в командной строке только если неверно указывал файл со скриптом.

-~{}~ 10.10.05 10:11:

а /cgi/ это виртуальная, как я понимаю, директория?
 

izo

Новичок
Фанат
ага. виртуальная.
Я пробовал и на прямую на скрипт ссылатся, что б багу отловить, но наткнулся на то же сообщение.

Ещё напомню. что php установлен как cgi.

-~{}~ 10.10.05 10:20:

Автор оригинала: Фанат
сообщение No input file specified выдаётся тогда, когда интерпретатор запускается, но никакого имени файла ему не передаётся.
А в какой момент запускается интерпретатор:
когда идёт обращение к файлу который определён как файл для обработки интерпретатором?

или

после указания пути к интерпретатору в скрипте #!/usr/local/php/bin/php -q ?

-~{}~ 10.10.05 10:23:

Ещё такая фишка.
если сослатся на скрипт через директиву
Derictoryindex
то скрипт запускается.
 

Фанат

oncle terrible
Команда форума
а х.з.
тут с cgi очень мало, кто работал.

Я пробовал и на прямую на скрипт ссылатся, что б багу отловить, но наткнулся на то же сообщение.
ну раз пробовал, то фигли было всю остальную цепочку тут рассказывать?
 

izo

Новичок
Фанат
Ступил... крыша уже ехала.

Чувствую с апачем дело.
А ситуация такая, что ничего переустановить или добавить нельзя на серваке.
И mod-rewrite там нету. И header в пхп не работает, потому что php-cgi. Короче попандос.
 

Фанат

oncle terrible
Команда форума
header в пхп не работает не потому что php-cgi, а потому, что ты его вызываешь инклюде виртуалом, чудик =)
 

izo

Новичок
Фанат
А как ещё вызвать? через file?
include file="??????"
я так понял что файл ссылается только на файлы в этой же директории. или нет? или вообще всё по другому. Можешь пример написать?
 

izo

Новичок
Фанат
Ну поспать... это может быть...:)
Не ну просто, а как тогда сделать что бы хидер работал?:)
 

Фанат

oncle terrible
Команда форума
А ты знаешь, что такое хидер? Судя по всему - нет. А значит, он тебе и не нужен.
 

izo

Новичок
Как это не нужен!
Если я не смогу преодолеть эту надпись No input file......
То было бы реально, для моих задач использовать Errordocument 404 script.cgi и там в скрипте посылать хидер, что мол всё ок и страница нормально восприянялась.

хидер - ну это такая штука в которой может передаватся сервисная инфа. в том числе и статус страницы.
 

izo

Новичок
kvf77
Ну вот я так и прочитал в одном факе. И поэтому erroredocument и не использовал. АФанат меня заблуждил:)

А в чём всё тки может быть дело, kvf77 ?
 
Сверху