Nekontroluji stav svého CMS Drupal každý den, takže jsem až po nějakém čase zjistil, že mi Hlášení stavu zobrazuje chybu The server can't issue HTTP requests a že zřejmě nefunguje modul Status update. Následovala série pokusů a omylů, jak problém vyřešit:
Z nějakého důvodu, asi chyba při pokusu o získání dat z Drupal update stránek vyprovokovala zavolání funkce system_check_http_request()
. Tato funkce se pokusí zjistit, zda Drupal site funguje - pošle request na admin/reports/request-test. Bohužel můj hosting má zakázané stahování URL ze stejné domény (prý je to zbytečné...), takže výsledkem byl nastavení proměnné drupal_http_request_fails
na TRUE. Drupal si tedy myslel, že z PHP na mém serveru nelze provádět HTTP requesty.
První pokus o vynulování této proměnné přes MyPHPAdmin neuspěl, protože proměnná je uložená v Drupal cache.
Druhý pokus o vymazání proměnné pomocí Drupal modulu http_request_fail_reset taky neuspěl, protože ihned po zapnutí modulu začal Drupal zlobit (No response from server). Jak jsem později zjistil, bylo to tím, že se Drupal ihned po zapnutí modulu snaží zjistit jeho status, tedy volá nefunkční Update status - Hlava XXII.
Třetí pokus o vymazání proměnné pomocí modulu Devel byl už úspěšný. Nejdřív ale bylo nutné vypnout modul Status update, jinak jsem byl opět u Hlavy XXII. Následně jsem horko těžko dohledával, jak se dostat na jednotlivé funkce modulu Devel, asi se nemá rád s modulem I18n, protože v menu se vůbec neobjevuje. Proměnnou drupal_http_request_fails
nelze přes module Devel změnit, Sorry, complex variable types may not be edited yet (boolean je příliš složitý typ??), takže nakonec znovu MyPHPAdmin a vymazání cache.
Pak jsem opět povolil modul Status update a vše zas běhá jak má.
Ještě nějaké drobnosti:
Proměnné jsou v tabulce variables
.
Moduly jsou v tabulce system
, sloupec status
je boolean, 1 = modul je povolen, 0 = modul je zakázán.
Položky menu modulu Devel lze nalézt ve funkci devel_menu()
, soubor devel.module
.