При замене php 5.3 на php 5.2 отвалился сайт

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

Аватар пользователя kirillnvnsk kirillnvnsk 5 августа 2010 в 14:31

Конфигурация:
Drupal 6
Php 5.3
В общем проблема такая:
В коде одного из моих модулей, я вызываю функцию
module_invoke_all('form_alter' , &$form, &$form_state , 'user_register')
В ходе выполнения этой функции появляется ошибка
warning: Parameter 1 to content_profile_form_alter() expected to be a reference, value given in C:\server\www\praktika\includes\module.inc on line 483.

Я прочитал, что это может быть проблема с php 5.3 и установка php 5.2 решит эту проблему.

Установка php 5.2 проводилась по сценарию:

  1. Скопировал php.ini
  2. Удалил содержимое папки /php
  3. Залил в папку /php версию php 5.2
  4. Переместил в нее php.ini

После выполнения этого сценария при попытке зайти на drupal сайт на локалхост отображается "Веб-страница не доступна"
phpinfo() - выводит сведения об установленной php 5.2.

Как мне решить проблему с ошибкой другим методом? Или подскажите как правилььно откатить к php 5.2

Комментарии

Аватар пользователя Yatsenco Yatsenco 5 августа 2010 в 14:36

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

А вообще в таких случаях нужно бекап делать, чтобы небыло таких проблем

Аватар пользователя kirillnvnsk kirillnvnsk 5 августа 2010 в 15:38

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

А вообще в таких случаях нужно бекап делать, чтобы небыло таких проблем


К хостеру обратиться не получится, потому что я пока делаю сайт на локалхосте. Можешь кинуть ссылку на материал, по которому можно сделать откат.

Аватар пользователя Виктор Степаньков ака RxB Виктор Степаньк... 5 августа 2010 в 14:47

"Yatsenco" wrote:
при смене версии php друпал всегда падает

С чего бы это?

В остальном - трясти хостера в чём проблема, но судя по всему это какой-нить nic.ru, который в итоге скажет - вы сами ставили ПХП 5.2, сами и разбирайтесь

Аватар пользователя vgoodvin vgoodvin 5 августа 2010 в 15:22

Примите уже за правило что шестая версия друпала работает стабильно только c php 5.2. И не будет ничего отваливаться.

Аватар пользователя Виктор Степаньков ака RxB Виктор Степаньк... 5 августа 2010 в 15:24

"vgoodvin" wrote:
Примите уже за правило что шестая версия друпала работает стабильно только c php 5.2. И не будет ничего отваливаться.

Таки на хабре мне люто, бешено и яростно доказывали что начиная с версии 6.14 ядро работает отлично на 5.3

Аватар пользователя wyatkins wyatkins 5 августа 2010 в 15:42

"RxB" wrote:
но судя по всему это какой-нить nic.ru, который в итоге скажет - вы сами ставили ПХП 5.2, сами и разбирайтесь

а че был такой ответ на ник.ру именно по пхп?

Аватар пользователя ihappy ihappy 5 августа 2010 в 15:43

"vgoodvin" wrote:
Примите уже за правило что шестая версия друпала работает стабильно только c php 5.2. И не будет ничего отваливаться.

на локальном компе стоит php 5.3.
Проблем нету, наблюдались до предпоследнего релиза друпала.
На хостинге стоит правда 5.2. Проблем ясен пень нету.

Друпал уже дружит с 5.3. Не дружат некоторые модули.

Аватар пользователя sv2109 sv2109 5 августа 2010 в 16:51

iHappy wrote:

Друпал уже дружит с 5.3. Не дружат некоторые модули.

Много этих модулей? Все лечится патчами?

Я 2 дня назад поставил себе Федору 13, а там php 5.3.. И вот думаю, стоит ли даунгрейдить php?
Пока пришлось прописать в php.ini часовую зону (для date()) и пропатчить модуль imagecaсhe.

Аватар пользователя kirillnvnsk kirillnvnsk 5 августа 2010 в 16:58

sv2109 wrote:
iHappy wrote:

Друпал уже дружит с 5.3. Не дружат некоторые модули.

Много этих модулей? Все лечится патчами?

Я 2 дня назад поставил себе Федору 13, а там php 5.3.. И вот думаю, стоит ли даунгрейдить php?
Пока пришлось прописать в php.ini часовую зону (для date()) и пропатчить модуль imagecaсhe.

Сам думал, что проблем не будет... но чем дальше тем хуже. Советую тебе тоже задаться вопросом даунгрейда с 5.3 на 5.2.
У меня щас вариант либо переписывать во всех модулях хук alter либо сделать даунгрейд.

Аватар пользователя Виктор Степаньков ака RxB Виктор Степаньк... 5 августа 2010 в 15:52

"wyatkins" wrote:
а че был такой ответ на ник.ру именно по пхп?

Пройди на ник.ру, у них написано в ToS что за ПО установленное и сконфигурированное юзером они ответственности не несут

Аватар пользователя wyatkins wyatkins 5 августа 2010 в 16:00

"RxB" wrote:
Пройди на ник.ру, у них написано в ToS что за ПО установленное и сконфигурированное юзером они ответственности не несут

видел. знаю (на себе испытал с мускулом). просто пхп 5.1 и 5.2 у них из панели ставится на выбор, поэтому и спросил че неужели и с пхп так кидают.

Аватар пользователя kirillnvnsk kirillnvnsk 5 августа 2010 в 16:32

Stan.Ezersky wrote:
"kirillnvnsk" wrote:
Можешь кинуть ссылку на материал, по которому можно сделать откат.

LAMP на Ubuntu

А про винду есть ченибудь? У меня стоит Apache 2 + Php 5.3 + Windows 7... Biggrin

Аватар пользователя Виктор Степаньков ака RxB Виктор Степаньк... 5 августа 2010 в 16:04

"wyatkins" wrote:
неужели и с пхп так кидают.

Точно не скажу, но толи на нике, толи на мастерхосте такое было, но вроде всё ж на нике.
Я правда клиентом не являюсь, так, бывает иногда...

Аватар пользователя ihappy ihappy 5 августа 2010 в 17:39

"vgoodvin" wrote:
Много ли людей не используют доп. модули?

1.давай говорить на чистоту. Друпал друпалом, а модули модулем. Если модуль глючный, мы же не говорим, что друпал глючный? Так и тут. Сам друпал дружит с 5.3. Все остальное уже проблемы модулей.
2.У меня используются около 30 модулей(из них 5-6 самописных и выполняющие узко направленные вещи). И проблем нету. Как бы намекает на ... Wink
"kirillnvnsk" wrote:
Подскажите сценарий отката к версии 5.2 в связке php+apache+windows

поставь денвер с 5.2 и не морочь голову.

Аватар пользователя kirillnvnsk kirillnvnsk 5 августа 2010 в 17:45

iHappy wrote:

"kirillnvnsk" wrote:
Подскажите сценарий отката к версии 5.2 в связке php+apache+windows

поставь денвер с 5.2 и не морочь голову.

Ты, конечно, глаголишь истину про денвер,.. но я про него не спрашивал.

Аватар пользователя Stan.Ezersky Stan.Ezersky 5 августа 2010 в 19:05

"iHappy" wrote:
Сам друпал дружит с 5.3
Мнения разделяются: ставил на PHP-5.3, друпал не работает. У кого-то работает, но не стабильно. У кого-то вываливаются уведомления.
Вывод: сидеть на PHP-5.2

Аватар пользователя Splinter Splinter 5 августа 2010 в 21:32

у меня при установке друпала с php 5.3 вылезает ошибка что не знает функцию ereg() в файле includes/file.inc на 926 строке, заменяю функцию на mb_ereg и всё ок. Самое интересное, что это ошибка не всегда появляется...

Аватар пользователя kirillnvnsk kirillnvnsk 5 августа 2010 в 21:43

Splinter wrote:
у меня при установке друпала с php 5.3 вылезает ошибка что не знает функцию ereg() в файле includes/file.inc на 926 строке, заменяю функцию на mb_ereg и всё ок. Самое интересное, что это ошибка не всегда появляется...

Это ты говоришь всего лишь про один из многочисленных глюков... некоторые решаются применением патча... некоторые, в моем случае, переход на пхп 5.2

Многие модели не лишены подобных косяков и пока используешь друпал 6, пользуйся расширением 5.2

Аватар пользователя Splinter Splinter 5 августа 2010 в 23:45

хрен его знает, я уже пару магазинов сделал на компе с 5.3, проблемы были только с node_import кажется. на друпал.орге есть как лечить.
Конечно, когда возникнут серьёзные проблемы, то откачусь на 5.2, пока не хочу вмешиваться во что либо.

Аватар пользователя tonyk tonyk 6 августа 2010 в 10:22

"kirillnvnsk" wrote:
module_invoke_all('form_alter' , &$form, &$form_state , 'user_register')

kirillnvnsk wrote:
У меня щас вариант либо переписывать во всех модулях хук alter либо сделать даунгрейд.

Анекдот.
Едет новый русский в машине, звонит сотовый телефон. Секретарша:
- Будьте осторожны, босс, по радио передали, что какой-то идиот едет против движения.
- Идиот?!?! Да их тут тысячи, тысячи!!!

Мораль: надо использовать функции правильно, и таких проблем не будет возникать.

P.S. hook_form_alter вызывается с помощью функции drupal_alter, а не с помощью функции module_invoke_all. Посмотрите, как это делается в ядре.