Sem categoria

PHP Fatal error: Unsupported operand types in block.admin.inc on line 38

Tenho fechado alguns freelance para atualizar Drupal 6 para 7, pois em 24 de fevereiro de 2016 encerrou o suporte para o release 6.x e daí em diante não terá qualquer atualização e o aconselhado é atualizar para o release 7 ou 8.

Vou documentar por aqui os problemas que tive e como fiz para resolver, de repente ajudar alguém 🙂

Nesse caso restaurei o projeto localmente e fui estudar como estava organizando os Blocos, mas a página abrir /admin/build/block aparecia toda branca. Olhando o log havia o erro:

[Wed Aug 17 21:52:54.703125 2016] [:error] [pid 20047] [client ::1:39508] PHP Fatal error:  Unsupported operand types in /var/www/html/drupal/modules/block/block.admin.inc on line 38, referer: http://localhost/drupal/?q=admin/build

e olhando a linha do arquivo em questão temos:

$block_regions = system_region_list($theme_key) + array(BLOCK_REGION_NONE => '<'. t('none') .'>');

O projeto estava rodando em Drupal 6.26 e tentei atualizar para versões acima, mas do mesmo release para não quebrar módulos sem antes eu estudar melhor o que foi desenvolvido. Mas não adiantou nada.

Buscando solução pela web acabei achando um post do fórum alemão e ajudou indiretamente no problema: nele sugerem que há um problema na configuração das regiões na configuração do tema. Resolvi então trocar o tema padrão e deu certo! Consegui acessar a página administrativa de Blocos, embora tenha que trabalhar com o tema do projeto desabilitado.

Padrão