Drupal+Ubercart и РБК хостинг

Главные вкладки

Аватар пользователя lemark lemark 23 июля 2008 в 9:46

Вчера промурурыжился весь день. Ужас. За всю свою практику работы с серверами в целом и связкой Apache+PHP в частности ТАКОЙ БРЕД вижу впервые.

Мои действия:
Итак решил я на хостинг РБК поставить связку Drupal 5.8+Ubercart.
Drupal поставился нормально, начал ставить Ubercart.
Подряд стал подключать модули. (именно подряд, т.е. по одному начиная со store)
Вылелетела ошибка out of memory
Поставил в .htaccess директиву "php_value memory_limit 32M"
Всеравно вылезает та же ошибка
Еще пара попыток и... 500 интернал сервер эрор
Долго не мог понять в чем дело, потом запустил phpinfo и увидел что версия PHP выставлена 4.3.9 (что странно, так как стояла 5.2)
Зашел на панель хостинга - там выставлена 5.2.
Поменял на 4.8 и потом на 5.2. Поменялось. В phpinfo сново 5.2
Начал запускать сайт - опять аут оф мемори. Пара раз - и снова интернал
Я опять в phpinfo - СЕРВЕР ОПЯТЬ СБРОСИЛСЯ ДО PHP 4.3.9!
Опять поменял предъидущим способом на 5.2 - подождал минут 20 - не сбросится ли само? Не сбросилось. Сбрасывается только после нескольких запусков сайта.

Собственно вопросы:
1. Какого лешего сама собой меняется версия PHP? Может ли это вызывать что-то в коде друпала или это мегабаг хостера?
2. Вот фрагмент из лога:

[Wed Jul 23 01:20:16 2008] [error] [client 81.222.209.222] Premature end of script headers: /www/tennisco/users/tennisco-satyric/www/htdocs/index.php
Out of memory (Needed 8164 bytes)
Out of memory (Needed 8164 bytes)
FATAL:  emalloc():  Unable to allocate 32 bytes
[Wed Jul 23 01:20:33 2008] [error] [client 81.222.209.222] Premature end of script headers: /www/tennisco/users/tennisco-satyric/www/htdocs/index.php
Out of memory (Needed 8164 bytes)
Out of memory (Needed 8164 bytes)
FATAL:  emalloc():  Unable to allocate 32 bytes
[Wed Jul 23 01:20:36 2008] [error] [client 81.222.209.222] Premature end of script headers: /www/tennisco/users/tennisco-satyric/www/htdocs/index.php
Out of memory (Needed 8164 bytes)
Out of memory (Needed 8164 bytes)
FATAL:  emalloc():  Unable to allocate 32 bytes

Смущают маленькие цыфры. максимальное число (8164 байта) если перевести в мегабайты получится "8 164 байта = 0.008164 десятичных мегабайта" если верить гугл калькулятору). Тогда почему при отведенных 32 мегабайтах (!) выпрыгивает эта ошибка? (при этом в phpinfo() memory_limit исправно показывается как 32M. Чья тут ошибка: Друпала, моя или хостинг провайдера?

P.S. Ради интереса поставил точно ту же связку к себе на локальный хостинг. Ограничил себя 32M памяти. В качестве стресс теста подключал все модули уберкарта + некоторые другие ОДНОВРЕМЕННО. Все нормально! Все запускается! Никаких ошибок!

Комментарии

Аватар пользователя axel axel 23 июля 2008 в 11:31

Переключение версий PHP это какие-то извраты хостера, хз как у них это настроено и с какими побочными эффектами.
То что пишет PHP в ошибках нехватки памяти, это память в байтах сверх лимита. Т.е. до этого момента 32Мб на процесс выделилось нормально, а потом процесс запросил ещё может быть пару килобайт, а больше уже нельзя.

Аватар пользователя lemark lemark 23 июля 2008 в 12:14

Я тоже предпологаю что PHP это хостер извращается.
Насчет памяти: а сколько надо памяти с запасом на друпал+уберкарт?

Аватар пользователя lemark lemark 23 июля 2008 в 21:55

Я в курсе куда мне нужно. Зачем писать бесполезные посты?
Тут меня интересовали вопросы касающиеся друпала а не моего ХП. Просто я стоял перед выбором - подойдет ли друпал под такой проект или нет - как выяснилось не подойдет. Друпал очень удобная и гибкая система, но к сожалению мало-производительная. Решил писать свой движок на ASP.NET

С ХП я уже все решил. У них в дата центре будет размещено два сервера - клиент дал полную свободу по деньгам

Аватар пользователя lemark lemark 23 июля 2008 в 22:45

Oh my god....
Все три вопроса про друпал.
1. Может ли друпал вызывать откат PHP
2. Почему выдавалась out of memory, явяется ли причиной этого неправильно настроенный друпал
3. Сколько памяти нужно для нормального функционирования связки друпал+уберкарт

P.S. Считаю, что нужно прекратить этот никому не нужный и абсолютно в рамках этой темы бесполезный ликбез

Аватар пользователя KCEOH KCEOH 24 июля 2008 в 2:01

Голый друпал - 16, с модулями - 32, уберкарт и прочие тяжелые модули (cck, views) - накидываем 16-32.

Ориентируемся, что для нормальной работы надо 64. Smile

Аватар пользователя Dr.JT Dr.JT 14 сентября 2008 в 1:05

Тоже ковыряюсь с друпальным сайтом на РБК. Ваш опыт мне помог. Спасибо.

ЗЫ - Насколько я заметил - аерсия php сбрасывается если вылетает Out of Memory

Аватар пользователя Poruchick Poruchick 17 сентября 2008 в 18:49

Сегодня по той же проблеме связывался с техподдержкой РБК. Для нормальной работы Drupal необходим хостинг по тарифному плану "Большой" или круче, а так же установка Drupal на основной домен, тогда ограничение по памяти будет 128м. Для субдоменов этого плана ограничение 32м. подробнее см. на http://hc.ru/agreement/agreement?unithash=ARG7EIT4&part=enc_hc2&type=pdf

Аватар пользователя Akzhan Akzhan 17 сентября 2008 в 19:48

Для Drupal + UberCart минимальный тариф на .masterhost - CMS Pro, или VPS Standard или euro-dedicated.

"Dr..JT" wrote:
ЗЫ - Насколько я заметил - аерсия php сбрасывается если вылетает Out of Memory

ОоО...