Объединенный Открытый Проект - Сайт для Настоящих Компьютерщиков

Объединенный Открытый Проект

Сайт для Настоящих Компьютерщиков

; Логин:
  Пароль:
Обычный
Безопасный
Запомнить пользователя



Зарегистрироваться
Забыли пароль?
 
 
 
Объединенный Открытый Проект »   Программирование »   Perl »   PERL vs CGI
RSS

PERL vs CGI

Почему у меня при выполеннии скрипта ...

Текущий рейтинг темы: Нет

<<Назад  Вперед>>Печать
 
megaS
Новичок

megaS
Всего сообщений: 14
Рейтинг пользователя: 0





Дата регистрации на форуме:
3 нояб. 2003
Короче прикол такой. У меня есть скрипт поиска. Результаты формируются в CGI а так SSI нельзя использовать в скриптах(по крайней мере мой хостер неразрешает), то я решил зделать так. Вставляю форму посика в главную страницу потом запускается скрипт которые результат поиска сбрасывает в файл. И формирует страницу с редиректом на этот файл. Но вот прикол такой. Если его запускать как CGI скрипт из браузера то файл он несоздает, когда я его запускаю под Shell то все работает отлично.
Использую open(FILE "<file.shtml") все правильно елсли нет то создать файл
Устанавливал права доступа 755 и 777 все равно неработает.В путик файлу указывал и абсолютный путь("/home/...") даже как то пробывал такое сделать $|=1
закачавал и в бинарном режиме и в Асицишном нифига. Help please.

4X_Pro
Руководитель Проекта
Настоящий Компьютерщик
4X_Pro
Откуда: Москва
Всего сообщений: 2994
Рейтинг пользователя: 79





Дата регистрации на форуме:
29 сен. 2001
А файл именно не создается или не показывается? И что вообще происходит?
Советую проверить следующие вещи:
1) правильно ли формируется заголовок переадресации
2) правильно ли открывается файл на запись (должно быть open(FILE,">index.shtml")
3) создаваемый файл помещается в WWW-часть сайта, а не в cgi (иначе он может и не отобразиться)
4) создаваемый файл имеет аттрибуты 644.


---
Каждый человек всегда может найти, чем он может быть полезен окружающим. Проблема только в одном: слишком многие не хотят это искать.
megaS
Новичок

megaS
Всего сообщений: 14
Рейтинг пользователя: 0





Дата регистрации на форуме:
3 нояб. 2003
Тут прикол не в этом. Прикол в том что если его запускать под shell #perl search.cgi - то он файл создает, а если через браузер то нет....
Права стоят 755(на скрипт), а редирект он делает в обоих случаях. И еще когда он создает файл через шелл то он прекрасно запускается в брайзере.
4X_Pro
Руководитель Проекта
Настоящий Компьютерщик
4X_Pro
Откуда: Москва
Всего сообщений: 2994
Рейтинг пользователя: 79





Дата регистрации на форуме:
29 сен. 2001
Что-то очень странное. А у тебя через броузер скрипт от твоего имени запускается или от какого-нибудь nobody? И еще: ты каталог, где файл будет создан, указываешь с полным путем или как текущий (может быть, он его просто совсем не туда пишет, куда надо)?

---
Каждый человек всегда может найти, чем он может быть полезен окружающим. Проблема только в одном: слишком многие не хотят это искать.
megaS
Новичок

megaS
Всего сообщений: 14
Рейтинг пользователя: 0





Дата регистрации на форуме:
3 нояб. 2003
На счет пути я делал разные
делал так ">/search.shtml" - кажется он писал в папку с HTML документами, делал и в текущую ">search.shtml" писал в папку откудо запускался срипт. А вобще не в этом дело, ведь когда через шелл он создает файл и я его нахожу и запускаю и все норамльно а вот так...... Может тут действительно чтото с правами хотя у скрипта 755(777 тоже пробовал),  у папки 777, ну у меня там еще пару скриптов стоит и все работает, а CGI-BIN какие атрибуты иметь должен??? а работаю в системе я под рутом.(Linux Redhat 6.2) и перл нормальный v5 ну и лаьше какието прибамбасы. Блин буду дальше мучится. Но если рассуждать то получается что если скрипт под шелом работает то ошибки в синтаксисе нет... Значит ошибки либо в парвах либо в HTML. Так как редирект он создает значит HTML все нормально. Остаются права и может прикол в режимах закачки(binaary, ASCII). Ну на счет прав вроде тожже все нормал, на счет закачеи пробовал оба..... ?????
4X_Pro
Руководитель Проекта
Настоящий Компьютерщик
4X_Pro
Откуда: Москва
Всего сообщений: 2994
Рейтинг пользователя: 79





Дата регистрации на форуме:
29 сен. 2001
В режимах закачки проблем быть не может (иначе бы оно выпадало с ошибкой 500). У тебя Apache от чьего имени скрпиты выполняет? Скорее всего, не от root... И тогда получается следующая ситуация: под rootом ты имеешь права делать все, что угодно, поэтому файл создается, а при выполнении из броузера скрипт запускается от имени nobody (иногда его web называют) или владельца файла (все зависит от того, как ты там что настроил), который не имеет прав на запись в данный каталог. Могу посоветовать два решения: 1) простое, но кривое - разрешить каталог с HTML-документами на запись всем пользователям, 2) сложное, но правильное, - разобраться с тем, от чьего имени выполняется скрипт, когда используется Apache, и разрешить каталог на запись ему.

---
Каждый человек всегда может найти, чем он может быть полезен окружающим. Проблема только в одном: слишком многие не хотят это искать.
megaS
Новичок

megaS
Всего сообщений: 14
Рейтинг пользователя: 0





Дата регистрации на форуме:
3 нояб. 2003
А мне вот еще обна мысль пришла, то я проверю, может ли это быть от того что сначало выполняется скрипт но с ошибкой, читает несуществующий файл, а потом выполняется этот скрипт и пэотму так коряво?
4X_Pro
Руководитель Проекта
Настоящий Компьютерщик
4X_Pro
Откуда: Москва
Всего сообщений: 2994
Рейтинг пользователя: 79





Дата регистрации на форуме:
29 сен. 2001
Стоп, я не понял: у тебя же скрипт должен только писать в файл, а считывать его сервер будет. Короче, выложи тут полный текст, тогда и разберемся.

---
Каждый человек всегда может найти, чем он может быть полезен окружающим. Проблема только в одном: слишком многие не хотят это искать.
megaS
Новичок

megaS
Всего сообщений: 14
Рейтинг пользователя: 0





Дата регистрации на форуме:
3 нояб. 2003
Все заработало родное все, вот только я так и непонял чтоже я такого нового зделал ну и ладно, вывод один непишите скрипты по ночам :-))))))) и тем более не занимайтесь ночью их администрированием ибо во сне видишь не те кнопки :-))) Спасибо за помощь.
<<Назад  Вперед>>Печать
Объединенный Открытый Проект »   Программирование »   Perl »   PERL vs CGI
RSS
Быстрый переход в раздел:


Время выполнения скрипта: 0.0611. Количество выполненных запросов: 19, время выполнения запросов 0.0215