Все-таки внизу файла settings.php вставить $conf['drupal_http_request_fails'] = FALSE; заработало. Но думаю проблема будет еще решаться - https://www.drupal.org/node/2379655.
=================
Очень долго ковырялся. несколько писем в тех поддержку хостинга. очень странно вел себя запрос на сайт сервера обновления Drupal. уходил по протоколу одному возвращался по другому. не знаю как будет дальше, посмотрим. что помогло сказать не могу. последние действия - поменял метод запроса в drupal_http_request на POST, обновил, затем обратно сменил. второй день все в порядке. пока так. если что начну новый пост форума.
-----------------
Добрый вечер форумчане. Сложно сказать, что у меня вопрос, но в тоже время и решение проблемы, хотя действительно оно есть(по крайней мере на данный момент). Началось 2-3 дня назад на хостинге REG.RU. Не дает обновляться сайт, появляются ошибки типа "Notice: Undefined offset:1 in drupal_http_request() " с жалобами на линию 984 и "Notice: Undefined offset:1 in drupal_parse_response_status() " на линию 1112 в файле common.inc. Я перелазил кучу форумов аглицких, Drupal.org и нашего сайта (напр. https://www.drupal.org/node/2100947) - [ может есть решение где-то, ткните...]. Но ничего не решается. Писал в тех. поддержку, они пожелали мне откатить все. Сделал - ничего. Ну я то понимаю, что дело в протоколе, либо в какой-то нестыковке с ними. Еще за день до обращения в святая святых поддержки, диагностировал домен через панель хостинга, и выдавало следующее - HTTP(S) Request (http://сайт): [ FAIL ]. Правда после отката стало на ОК, но все равно сайт не обновляется.
Тут вышло обновление 7,34, думаю, ага, может оно решение, либо уже кто-то хакнул сайт, либо просто вылезет из проблемного поля сайт. Ничего. Случайно еще раз перечитал .htaccess, закомментил сие:
#Set "protossl" to "s" if we were accessed via https://. This is used later
# if you enable "www." stripping or enforcement, in order to ensure that
# you don't bounce between http and https.
RewriteRule ^ - [E=protossl]
RewriteCond %{HTTPS} on
RewriteRule ^ - [E=protossl:s]
Обновил и удалили кеш, все заработало. Раскомментировал обратно, все работает, по крайней мере пока. Так что, как я говорил, вроде и решение, вроде и баг какой-то.
Если у кого есть мысли пишите.
Комментарии
Десять минут спустя, опять все по новой. Что делать???
Прямо театр абсурда...Идем далее, закомментировал теперь в .htaccess
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^ http%{ENV:protossl}://%1%{REQUEST_URI} [L,R=301]
Все опять в норме.
если все будет в норме, как можно создать нечто подобное, чтобы www. ссылкой шло на домен без данного обозначения, чтобы не дублировался в индексе, да и удобнее с одним именем работать. Ссылки в корневом разделе хостинга стоят, но они не работают, либо просто как-то в robots указать сие...?
после утренней очистки кеша, все по новой.
Может кто встречался и решил - вот что выдает после запуска cron
Notice: Undefined offset: 1 в функции drupal_http_request() (строка 984 в файле /var/www/ХХХ/data/www/ХХХ/includes/common.inc).
Notice: Undefined offset: 1 в функции _drupal_parse_response_status() (строка 1112 в файле /var/www/ХХХ/data/www/ХХХ/includes/common.inc).
Notice: Undefined offset: 1 в функции drupal_http_request() (строка 984 в файле /var/www/ХХХ/data/www/ХХХ/includes/common.inc).
Notice: Undefined offset: 1 в функции _drupal_parse_response_status() (строка 1112 в файле /var/www/ХХХ/data/www/ХХХ/includes/common.inc).
а ниже:
Внимание. Состояние обновления для модулей и тем.
Сбой при попытке получить обновления.
Возникла проблема с проверкой доступных обновлений для Ваших модулей или тем. Смотрите страницу доступных обновлений для дополнительной информации и установки обновлений.
Внимание. Состояние обновления ядра Drupal.
Сбой при попытке получить обновления.
Возникла проблема с проверкой доступных обновлений для Drupal. Смотрите страницу доступных обновлений для дополнительной информации и установки обновлений.
Еще один вариант...
Откатил сайт на хостинге на пару дней, когда начал в принципе ковырять ошибку. Обновил базу данных, удалив с хостинга, заменив на БД с локального сайта. Затем обновил сайт до 7,34. Вроде пока все в норме.
Пять минут спустя. Опять ошибки. Написал в тех. поддержку снова - вдруг серверные настройки менялись, либо заменить его надо.
Аналогично. Проблемы с reg.ru
Сделал вот так
<?php print_r(drupal_http_request('https://drupal.org/'));?>
В ответ получил
stdClass Object ([geshifilter-code] => 0 [error] => Ошибка открытия сокета ssl://www.drupal.org:443 [redirect_code] => 301 [redirect_url] => https://www.drupal.org/ )
<br> Обращение по http проходит нормально<?php print_r(drupal_http_request('http://ya.ru'));?>
<br>stdClass Object ( [request] => GET / HTTP/1.0 User-Agent: Drupal (+http://drupal.org/) Host: ya.ru [data] => [protocol] => [status_message] => [headers] => Array ( ) [code] => 0 [error] => )
<br> Но так как к обновлениям можно обратиться только по https, то соответственно из возникает ошибка. Я так понимаю это ошибка хостинга?[/geshifilter-code]Видать, пых без поддержки SSL, на ник.ру подобное частенько
Господа, так как решилась проблема с reg.ru ?
а-то наступил с ними на те же грабли:)
Подписываюсь.
Тоже reg.ru, те же ошибки.
Notice: Undefined offset: 1 в функции drupal_http_request() (строка 984 в файле /includes/common.inc).
Notice: Undefined offset: 1 в функции _drupal_parse_response_status() (строка 1112 в файле /includes/common.inc).
Хостинг REG.ru
Ни одно из решений не помогло.
Закономерность хостинга, при установке нового сайта отваливается обновления на всех сайтах площадки.
Для наглядности поставил способ от rujet и написал в службу поддержки, через 15 минут вопрос был снят.
Решение проблемы не верное. По результатам тестирования удалось достоверно выяснить, что на хостинге REG.RU периодически или по какой то блокировке со стороный провайдера блокируется доступ и не выполняется запрос к серверу $fp = fsockopen("www.drupal.org", 80, $errno, $errstr, 30) - www.drupal.org и не важно http или https. После того как я конкретно указал хостеру на эту проблему в течении часа все само заработало..просто волшебство. Возможно существует белый и черный список адресов на которые можно получать доступ, чтобы ушлые разработчики сайтов не парсили чужой контент со сторонних ресурсов.
У меня возникла такая же проблема. Причем - только на одном сайте (поддомене). На основном всё нормально обновляется.
Состояние обновления для модулей и тем. Сбой при попытке получить обновления.
Возникла проблема с проверкой доступных обновлений для Ваших модулей или тем. Смотрите страницу доступных обновлений для дополнительной информации и установки обновлений.
Предупреждение
Состояние обновления ядра Drupal Сбой при попытке получить обновления.
Возникла проблема с проверкой доступных обновлений для Drupal. Смотрите страницу доступных обновлений для дополнительной информации и установки обновлений.
tmp без слэша, права - 777 менял владельца, удалял, создавал заново ручками, друпалом, менял на sites/default/files/tmp
проксей нет,
вручную - Ошибка при попытке обновления N проектов.
При установке модуля/темы:
Возникла HTTP ошибка -111 при попутке получить https://ftp.drupal.org/files/projects/...
Не могу извлечь Drupal-проект из https://ftp.drupal.org/files/projects/...
модуль cURL проблему не решает
в settings.php
$update_free_access = TRUE; не помогает
Как побороть не знаю.
Та же фигня. На сервере поменялся IP-адрес (переехали в другой офис), сам сайт и ОС остались без изменений. Ни на одном сайте обновление больше не работает. Ошибок в логах нет.
Я пользуюсь хостингом на nic.ru и тоже столкнулся с проблемой, в определенный момент все мои сайты перестали обновляться.
Копался в настройках друпала, в файлах .htaccess, в настройках хостинга, даже сделал маленький PHP-файл с текстом
<?php print_r(drupal_http_request('http://drupal.org/'));?>
чтобы посмотреть, что вобще происходит при обращении моего сайта к другому сайту. Оказывается ошибка происходит при создании соединения по протоколу SSL. То есть, мы видим сайты в интернете по протоколу HTTP, мы управляем этими сайтами по протоколу FPT или SSH, а один сайт (на друпале) обращается к другому сайту по протоколу SSL.Решение:
Идем в управление хостингом -> Веб-сервер -> Управление модулями -> PHP (настроить модуль) -> Управление расширениями (активируем галочку "показать все расширения") -> находим модуль openssl и активируем галочку -> сохраняем изменения.
Подтверждаю, после ручной установки php5-openssl всё заработало.
Точно. На nic.ru заработало после включения openssl. Спасибо!