[решено] update.php, белый экран на 3-м шаге (op=start)

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

Аватар пользователя iltmpz@drupal.org iltmpz@drupal.org 17 октября 2010 в 5:58

Проблема имеется в версии 6.19 и в 6.8
запускаю /update.php - на 3-м шаге, после "select versions..." нажимаю Update, и просто вместо прогресс-бара с "Updating" выдает пустую страницу. Ее url - /update.php?op=start&id=51

Пробовал в разных вариантах - отключал все модули, возвращал обратно, выбирал для всех модулей в списке "No updates available" - эффект одинаковый - пустая страница, исходный текст страницы тоже пустой, при этом никаких ошибок ни в каких логах нет.
В системном журнале пусто, в логах apache и php тоже ничего.
Пробовал включать в settings.php: ini_set('display_errors', 1);
Пробовал error_reporting E_ALL в htaccess, пробовал $update_free_access = TRUE; - эффекта никакого - в логах пусто, страница пустая.
Раскидывал отладочные echo по update.php - выполнение благополучно доходит до batch_set в функции update_batch, а как тестировать дальше - не представляю.

Свежеустановленный друпал успешно проходит через этот шаг, а вот рабочий - ни в какую.
Как мне заставить работать update.php или обойти эту проблему?
Собственно, собираюсь обновить 6.8 до 6.19, как я понимаю, после обновления кода нужно заставить ядро и все модули выполнить функции модуль_update_версия(), которые должны обновить базу. обновлять все таблицы базы руками через mysql очень не хочется.

Комментарии

Аватар пользователя iltmpz@drupal.org iltmpz@drupal.org 17 октября 2010 в 7:11

разобрался: даже предположить такого не мог:
У меня была кука с именем "id", в результате в includes/batch.inc в строке:

if (isset($_REQUEST['id']) && $data = db_result(db_query("SELECT batch FROM {batch} WHERE bid = %d AND token = '%s'",
 $_REQUEST['id'], drupal_get_token($_REQUEST['id'])))) {

$_REQUEST['id'] перекрывался, и вместо id из _GET подставлялось id из моей куки.
Куку убрал - update заработал.

Аватар пользователя dimmos37 dimmos37 30 апреля 2012 в 22:54

<a href="mailto:iltmpz@drupal.org">iltmpz@drupal.org</a> wrote:
разобрался: даже предположить такого не мог:
У меня была кука с именем "id", в результате в includes/batch.inc в строке:

if (isset($_REQUEST['id']) && $data = db_result(db_query("SELECT batch FROM {batch} WHERE bid = %d AND token = '%s'",
 $_REQUEST['id'], drupal_get_token($_REQUEST['id'])))) {

$_REQUEST['id'] перекрывался, и вместо id из _GET подставлялось id из моей куки.
Куку убрал - update заработал.

И как убрали, у меня сейчас такая же беда после обновления UberCart. Что только ни делал.

Аватар пользователя dimmos37 dimmos37 30 апреля 2012 в 22:56

<a href="mailto:iltmpz@drupal.org">iltmpz@drupal.org</a> wrote:
разобрался: даже предположить такого не мог:
У меня была кука с именем "id", в результате в includes/batch.inc в строке:

if (isset($_REQUEST['id']) && $data = db_result(db_query("SELECT batch FROM {batch} WHERE bid = %d AND token = '%s'",
 $_REQUEST['id'], drupal_get_token($_REQUEST['id'])))) {

$_REQUEST['id'] перекрывался, и вместо id из _GET подставлялось id из моей куки.
Куку убрал - update заработал.

И как убрали, у меня сейчас такая же беда после обновления UberCart. Что только ни делал.

Аватар пользователя dimmos37 dimmos37 1 мая 2012 в 17:44

Решено!

Банально, поэтому и копал глубоко.
С месяц назад обновлял до 6,25. Все прошло как обычно, все работало.
Когда пришло время обновлять Ubercart, тут косяк и всплыл.
Выяснил, что не в базе тут дело. В каком то из файлов. Скачал свежий 6,25 и начал заново обновлять. Обновил все что можно. И осталась папка с дефолтовыми темами и site. И после замены тем все стало работать. Так что не всегда требуется операция. Спасибо RxB за участие.

Век живи, век учись!