| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: разработка для Web > Apache2 IO write: (103) Software caused... |
| Автор: infarch 6.11.2012, 14:16 | ||
| Возникает странная ошибка на сервере у заказчика : Apache2 IO write: (103) Software caused connection abort at... Ни на девелоперских машинах под виндой, ни на тестовом сервере под убунтой такого нет. А вот в продукции периодически вылезает. Меня туда не пустят посмотреть, заказчик трясется как Кощей над яйцом. Так что приходится доходить эмпирически. Вот функция в которой происходит ошибка:
Я отметил строку на которой все падает. Еще в контроллере есть одна опция: binmode( STDOUT, ':encoding(utf8)' ); Добавлено для автоматического перекодирования в ютф8 при отправке контента. А эта функция отсылает файлы, поэтому и binmode(STDOUT); Может в этом и дело? Однако, как я говорил, у меня все работает нормально... Помогите, знатоки, советами! |
| Автор: Pfailed 6.11.2012, 15:04 |
| А как это работает? Через ModPerl::Registry? |
| Автор: infarch 6.11.2012, 15:18 | ||
Да, апач и модперл. Касаемо конфигурации, то вот:
Это с моей машины, а в продукции только пути отличаются. |
| Автор: Pfailed 6.11.2012, 15:55 |
| Ну да, ModPerl::Registry - это такой костыль, который позволяет пускать CGI-подобные скрипты под mod_perl. Не удивительно, что там могут происходить странные вещи. Советую погуглить по поводу STDOUT и ModPerl::Registry, Apache::Registry, mod_perl. Вполне возможно что эти binmode влияют на STDOUT (который вроде бы tied) не должным образом. Здесь есть что-то (хотя это про первый mod_perl) http://perl.apache.org/docs/1.0/guide/porting.html#STDIN__STDOUT_and_STDERR_streams |