Проблемы со скриптом корзины


Столкнулись с тем, что аякс-скрипт корзины примерно через раз не выполняется.
В Network статус 500 internal error, в логах — Premature end of script headers: index.php

Ладно бы ошибка была каждый раз, а тут рандом. Причем чаще всего начиная со второго раза после загрузки страницы и потом через раз.

Памяти для скриптов выделено много, тайминги большие.
Да и время выполнения скрипта — 155ms (невыполнения — 45ms)

На других серверах (локальных, тестовых) все работает.
Поддержка хостинга ничего путного не отвечает. У тех с кем общался единственное пока предположение, что глюки из-за используемого на нем режима FastCGI. Но отключить этот режим нет возможности, альтернатива только «не использовать php».

Явно что-то не так с настройками, но не понимаю куда в такой ситуации копать.

P.S. Когда появился этот раздела тут был визуальный редактор, а когда понадобилось задать вопрос он пропал.
11 сентября 2012, 01:47    Андрей Розум   G+  
0    535 0

Комментарии (11)

  1. Андрей Розум 11 сентября 2012, 01:48 # 0
    P.S. А еще оказалось, что нажатие на предпросмотр сразу отправляет сообщение.
    1. Василий Наумкин 11 сентября 2012, 05:07 # 0
      Редактор починил. Вышла неразбериха с вызовами скриптов, из-за этого и предпросмотр не работал.

      По вашему вопросу у меня одна версия — на сервере включен php кэшер, типа php-apc.
      Почитайте вот тут bezumkin.ru/modx/minishop/faq.html
      1. Андрей Розум 11 сентября 2012, 11:04 # 0
        Есть eAccelerator в котором Caching Enabled, может это он чудит.
        Через php.ini не отключился, сейчас разбираться некогда, вечером еще поковыряю.
        1. Андрей Розум 11 сентября 2012, 17:07 # 0
          Спасибо за наводку, однозначно проблема в конфликте кэширования.
          С eAccelerator пока не разбирался, но когда в настройках модэкса отключил session_handler_class все залетало.

          Единственно, не уверен, что лучше. Оставить так, или все-же поискать как отключить кэширование у eAccelerator-а.
          1. Василий Наумкин 11 сентября 2012, 17:40 # 0
            Сессии в БД довольно удобно + можно ставить бесконечную залогиненность.

            На файлах, конечно, тоже можно — но надо сервер мучать, а эта возможность есть не у всех.

            Я бы отключил eAccelerator совсем. Судя вот по этому blogs.hub21.ru/blog/sysadmins/170.html — можно сделать просто eaccelerator.enable=«0».
            Ну или вообще его удалить, если сервер у вас VPS\VDS.
            1. Андрей Розум 11 сентября 2012, 17:53 # 0
              ​eaccelerator.enable=«0» первым делом и пробовал, но он не отключился.

              Удалить самим возможности нет, попробуем еще раз в техподдержку написать.
              1. Василий Наумкин 11 сентября 2012, 17:55 # 0
                Доступ к вашему конфигу php-fpm есть?

                Если да — то все просто:
                php_admin_value[eaccelerator.enable] = 0

                Если нет, то придется через поддержку.
                1. Андрей Розум 11 сентября 2012, 17:59 # 0
                  Спасибо еще раз.
                  Вечером проверю.
                  1. Андрей Розум 14 сентября 2012, 07:06 # 0
                    Пару дополнений о том, чем закончились изыскания.

                    Во-первых, через какое-то время после того как отключил session_handler_class пошли ошибки и в админке, и на самом сайте. Исправил добавлением в .htaccess строки
                    php_value session.auto_start on

                    Потом, когда появилось время разбираться дальше, то первым делом вернул все назад — подключил session_handler_class и убрал auto_start сессии. Но скрипт корзины продолжил срабатывать каждый раз.

                    И до сих пор первоначальная проблема не повторилась, хотя все вернулось на исходные. Надеюсь и не повториться. :)

                    В общем почему пропал этот глюк я понять не смог. Мистика. %)
                    1. Василий Наумкин 14 сентября 2012, 07:47 # 0
                      С тех пор как полностью перешел на собственноручно-настроенные VPS — просто забыл о подобном.

                      Всем советую, это не сложно и недорого, а в итоге сэкономит нервы и время(деньги).
                      1. Андрей Розум 14 сентября 2012, 11:27 # 0
                        Согласен.
                        Но тут выбор был не за мной.
        Вы должны авторизоваться, чтобы оставлять комментарии.