| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Общие вопросы > Запись в файл |
| Автор: DigitSphinx 24.6.2010, 02:03 | ||
| Начал на этой неделе по техоньку изучать Perl, поэтому сильно не бейте )) лучше пинать в нужном направлении )) написал простой код который генерирует страницу HTML и залил этот CGI скрипт на IIS, открываю в браузере 127.0.0.1 отображается именно то что я хотел видеть ! но в конце скрипта я записываю в файл какую-то инфу и проблема в том что запуская этот скрипт из командной строки, файл создается и пишется нормально, но запуская скрипт с браузера файл не пишется !
|
| Автор: krypt3r 24.6.2010, 06:43 | ||
Ошибку гляньте. Скорее всего, проблемы с правами доступа
|
| Автор: DigitSphinx 24.6.2010, 08:02 | ||||
я предположил что проблема с правами, но die и warn не выводят сообщения Оо
в результате дал
по ходу из cmd у меня есть права а у пользователя с сайта их нет, но как это поправить/обойти ? как добиться того чтобы у меня оставался лог посетителей в формате "когда кто"? |
| Автор: dva300 24.6.2010, 08:29 | ||||||
1) use CGI::Carp qw(fatalsToBrowser); 2) зачем обходить ? это нормальная ситуация. это не у пользователя с сайта нет прав писать в папку а у пользователя под которым запускается apache нет прав писать в папку. только не надо ставить запуск apache от root. для начала пишите в tmp. потом создайте папку с соответствующими провами.
вот так делать не надо. лучше уж warn |
| Автор: dva300 24.6.2010, 09:00 | ||||||
warn выводит сообщение в STDERR так как ошибка есть влияющая на работу программы т.е. без файла там делать нечего то естественно лучше die
ну IIS он же тоже на сервере запускается так что там тоже есть права доступа. создай новую папку, посмотри права на нее. для начала поставь доступ для всех. потом смотри под каким пользователем пускается IIS и добавь его на запись в эту папку |
| Автор: DigitSphinx 24.6.2010, 09:14 |
| создал вложенную папку C:\inetpub\wwwroot\LOGS доступ открыл на всех и все заработало! спасибо )) теперь одна проблема, читаю перл от нечего делать на работе, теперь палево ... в сетке висит моя папка LOGS если начальство спалит мне влетит )) dva300, еще раз спасибо ! |
| Автор: dva300 24.6.2010, 09:20 | ||
хм.... так надо было открыть ee для группы локальных пользователей IIS а не расшарить ее на весь домен или wwwroot расшарен ? тогда в другом месте создай. ну или скажи что не ты |
| Автор: DigitSphinx 24.6.2010, 10:51 |
фиг знает как это сделать )) просто правой кнопкой по LOGS свойства->доступ->общий доступ -> Everyone = соавтор. нет только его вложенная папка LOGS лучший вариант |