Leia as perguntas frequentes
Novo
Suporte do Bitrix24
Inscrição e autorização
Como Começar?
Feed
Bate-papos e chamadas
Calendário
Bitrix24 Drive
E-mail
Grupos de trabalho
Tarefas e Projetos
CRM
CoPilot - IA no Bitrix24
Contact Center
Telefonia
CRM + Loja On-line
Sales Center (beta)
Análise CRM (beta)
Sales Intelligence (beta)
Criador de BI
Automação
Marketing
Bitrix24.Sites
Loja On-line (beta)
Gerenciamento do inventário
Empresa
Base de conhecimento
Videoconferências em HD
Processos de negócio
Robotic Process Automation (beta)
Market (Aplicativos)
Assinatura
Enterprise
Configurações
Meu perfil
Aplicativo desktop
Aplicativo móvel
Bitrix24 On-premise
Questões Gerais
Novidades do Helpdesk (arquivo)

Suporte Bitrix24

Bitrix24 On-Premise: atualizar para PHP 8.х

on-premise

Você deve ter notado tal aviso no painel de controle do seu Bitrix24 On-Premise:

As of 02/01/2023 only limited support will be provided for our products running on PHP versions below 8.1. PHP 8.1 or higher is recommended. You are currently using PHP 7.4.33. Please update your PHP installation or contact your hosting service provider for assistance.

O que significa isso?

A versão do PHP 7.х está agora desatualizada e não é mais suportada. Não haverá correções de bugs funcionais ou de segurança em nenhuma das versões do PHP 7. Portanto, não é recomendado usar qualquer versão do PHP abaixo de 8.

Você não poderá instalar nenhuma atualização da versão Bitrix24 On-Premise para obter novos recursos e corrigir erros até atualizar sua versão do PHP para pelo menos a versão 8.1 em seu ambiente de servidor.


O que fazer?

Você deve agendar uma atualização de sua versão do PHP para a versão 8.1 o mais rápido possível.

A atualização é realizada gradualmente. Entre em contato com o administrador do sistema ou com o provedor de serviços de hospedagem para obter assistência.

  1. Certifique-se de fazer um backup da sua instalação. Você pode usar a ferramenta de backup integrada ou criar um backup no nível do servidor, por exemplo, da máquina virtual VMBitrix.

  2. Instale todas as atualizações disponíveis em Control panel > Marketplace > Platform Update.

  3. Atualize todas as soluções de terceiros do Marketplace para as versões mais recentes disponíveis em Control panel > Marketplace > Solution Update.

  4. Atualize a versão do PHP para a versão 8.1 no seu servidor.

    Se você usa o BitrixVM, pode atualizar o PHP manualmente por meio do item de menu do VMBitrix: 1. Manage servers in the pool - 8. Update PHP and MySQL. Leia mais detalhadamente neste curso.
  5. Verifique novamente as atualizações de plataforma e soluções disponíveis no Marketplace e certifique-se de instalar todas.


O que fazer em caso de erros ao atualizar a versão do PHP

  • Se houver erros na operação dos módulos padrão do Bitrix24 On Premises, entre em contato com Suporte Bitrix24.

    Além disso, se as soluções de Market contiverem bitrix.* em seus nomes, entre em contato com o Suporte Bitrix24, por exemplo:

     
    bitrix.eshop 
    bitrix.sitecommunity 
    bitrix.sitecorporate 
    bitrix.siteinfoportal 
    bitrix.sitepersonal 
    bitrix.learningtemplates
  • Se houver erros na operação de módulos de terceiros instalados do Marketplace, entre em contato com o desenvolvedor do módulo. Você pode encontrar seus contatos na página deste módulo na guia Suporte.

Erros comuns e suas soluções

Possíveis razões de problemas após a atualização para o PHP 8.x:

  • Você não instalou as atualizações disponíveis em Control panel > Marketplace > Platform Update antes de atualizar para o PHP 8.x.
  • Você não instalou as atualizações disponíveis para soluções de terceiros no Marketplace em Control panel > Marketplace > Solution Update antes de atualizar para o PHP 8.x.
  • O desenvolvedor não atualizou o módulo para suportar a versão PHP 8.

Como resolver problemas comuns após a atualização para o PHP 8.x?

  • Faça o downgrade para a versão anterior PHP 7.x, instale todas as atualizações de componentes do sistema e módulos de terceiros e, em seguida, atualize novamente para o PHP 8.x.
  • Se a instalação de atualizações não ajudar a corrigir os problemas, entre em contato com o desenvolvedor do módulo – siga as instruções na seção O que fazer em caso de erros ao atualizar a versão do PHP.
  • Desative temporariamente o módulo que contém erros movendo-o para fora do diretório /bitrix/modules.
  • Remova a solução de terceiros que contém erros.

Observe que essas recomendações são fornecidas para resolver problemas na operação de um módulo específico. Cada erro deve ser revisado individualmente pelo desenvolvedor.

[Ux11] Error in the "#MODULE#" module description. Cannot connect the update server. [Ux11] Error in the "#MODULE#" module description.

Este erro pode aparecer após atualizar sua versão do PHP para 8.1 ou superior. Nesse caso, o site funciona corretamente, mas não é possível instalar ou atualizar qualquer outra solução até que o problema seja resolvido.

Solução:

Para corrigir o erro, abra o arquivo /bitrix/modules/<module_name>/install/index.php e substitua o código:

function <module_name>()
com outro código:
function __construct()

The script encountered an error and will be aborted. To view extended error messages, enable this feature in .settings.php.

Solução:

Conecte-se ao FTP/SFTP ou faça login no painel de controle de hospedagem e habilite a saída de erro no arquivo /bitrix/.settings.php:

'debug' => true,

Depois disso, o texto de erro será exibido no site.

Exemplo de texto de erro
Non-static method Super\Functions\CSuperModRep::checkBack() cannot be called statically (0)
/home/bitrix/modules/super.mod/lib/functions/CSuperModRep.php:52
#0: Super\Functions\CSuperModRep::checkRepActive()
/home/bitrix/modules/super.mod/classes/general/CModEvents.php:1621
#1: CModEvents::OnPageStartHandler()
/home/bitrix/modules/main/classes/general/module.php:480
#2: ExecuteModuleEventEx(array)
/home/bitrix/modules/main/include.php:163
#3: require_once(string)
/home/bitrix/modules/main/include/prolog_before.php:14
#4: require_once(string)
/home/bitrix/modules/main/include/prolog.php:10
#5: require_once(string)
/home/bitrix/header.php:1
#6: require(string)
/home/index.php:1

Neste exemplo, o erro é retornado pelo método de terceiros CSuperModRep::checkBack() da solução super.mod.

Para corrigir o erro, no código checkBack() você precisa declarar corretamente a função estática:

function checkBack()
substitua com:
 public static function checkBack()

PHP Fatal error: $GLOBALS can only be modified using the $GLOBALS[$name] = $value syntax in /www/bitrix/modules/main/tools.php

Este erro pode aparecer após atualizar o PHP para a versão 8.x se você não tiver instalado as atualizações de plataforma disponíveis na versão PHP 7.x.

Solução:

Este erro foi corrigido na atualização do módulo principal main 22.100.0.

Portanto, faça o downgrade para o PHP 7.x, instale todas as atualizações recomendadas e atualize novamente para o PHP 8.x.

[TypeError] call_user_func_array(): Argument #1 ($callback) must be a valid callback, non-static method COMP\BXE\EventHandlers::AdminContextMenuShow() cannot be called statically (0)...

Este erro pode aparecer após a atualização do PHP para a versão 8, mas não é óbvio.

Exemplo de texto de erro
[TypeError]
call_user_func_array(): Argument #1 ($callback) must be a valid callback, non-static method COMP\BXE\EventHandlers::AdminContextMenuShow() cannot be called statically (0)
/var/www//bitrix/modules/main/classes/general/module.php:480
#0: ExecuteModuleEventEx
/var/www/bitrix/modules/main/interface/admin_ui_list.php:1983
#1: CAdminUiContextMenu->Show
/var/www/bitrix/modules/main/interface/admin_ui_list.php:1168
#2: CAdminUiList->ShowContext
/var/www/bitrix/modules/main/interface/admin_ui_list.php:630
#3: CAdminUiList->DisplayFilter
/var/www/bitrix/modules/iblock/admin/iblock_element_admin.php:5217
#4: include(string)
/var/www/bitrix/admin/cat_product_admin.php:3

O texto da mensagem de erro não mostra o diretório do módulo, mas este método COMP\BXE\EventHandlers::AdminContextMenuShow() pertence ao módulo de terceiros.

Solução:

Para corrigir o erro, no código AdminContextMenuShow() você precisa declarar corretamente a função estática:

function AdminContextMenuShow()
substitua com:
public static function AdminContextMenuShow()

Tela branca após atualizar para o PHP 8.х (na versão PHP 7.4 tudo funciona)

Este erro pode aparecer devido à configuração do parâmetro short_open_tag = Off.

Solução:

  • No arquivo de configuração do PHP, defina o valor short_open_tag = On.
  • Nos logs do servidor web verifique possíveis erros e corrija-os.
  • Além disso, você pode verificar erros na página do site com uma tela branca: clique com o botão direito do mouse na página e selecione Exibir código fonte da página, role para baixo e verifique se há algum erro.
Essa informação foi útil?
Assistência de Especialistas em Integração
Não é o que estou procurando
Texto complexo e incompreensível
Informações estão desatualizadas
Explicação muito breve, preciso de mais informações
Não gosto de como esta ferramenta funciona
Ir ao Bitrix24
Não tem uma conta? Crie grátis