Leggi le domande frequenti
Novità
Supporto Bitrix24
Registrazione e accesso
Come iniziare?
Mio profilo
Feed
Chat e chiamate
Calendario
Documenti
Unità
Webmail
Gruppi di lavoro
Incarichi e progetti
CRM
CoPilot — AI in Bitrix24
Contact Center
Sales Center
Analisi CRM (beta)
Generatore Bi
Sales Intelligence
Gestione inventario
Marketing
Siti
Online store (beta)
CRM + Online store
Bitrix24.Sign
Azienda
Knowledge base (beta)
Automazione
Flussi di lavoro
Telefonia
Market
Abbonamento
Impostazioni
Enterprise
Applicazione mobile
Applicazione Desktop
Domande generali
Bitrix24 On-Premise
Aggiornamenti degli articoli (archivio)
Accedi
Il tuo Bitrix24
Autorizza a immettere il
Bitrix24 della tua azienda.
Immetti

Supporto Bitrix24

Bitrix24 On-Premise: aggiornamento a PHP 8.x

on-premise

Come potresti aver notato, c'è un avviso sul pannello di controllo del tuo Bitrix24 On-Premise:

As of 02/01/2023 only limited support will be provided for our products running on PHP versions below 8.0. 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.

Cosa significa questo?

La versione PHP 7.х è deprecata e non è più supportata. Non vengono rilasciate correzioni di bug funzionali o di sicurezza in nessuna delle versioni di PHP 7. Pertanto, non è consigliabile utilizzare alcuna versione di PHP inferiore alla 8.0.

Non è possibile installare alcun aggiornamento della versione On-Premise di Bitrix24 per ottenere nuove funzionalità, migliorare la sicurezza e le prestazioni del tuo sito Web finché non aggiorni la tua versione PHP almeno alla versione 8.0 o alla versione consigliata 8.1 nel tuo ambiente server virtuale.


Come aggiornare la versione PHP?

Bisogna pianificare un aggiornamento della tua versione PHP almeno alla versione 8.0 o alla versione consigliata 8.1 il prima possibile.

L'aggiornamento viene effettuato gradualmente. Contatta l'amministratore di sistema o il fornitore di servizi di hosting per assistenza.

  1. Assicurati di aver eseguito il backup del tuo sito web. È possibile utilizzare lo strumento di backup integrato o creare un backup a livello di server.

  2. Installa tutti gli aggiornamenti disponibili, fai clic su Control panel > Marketplace > Platform Update.

  3. Aggiorna tutte le soluzioni di terze parti dal Marketplace alle ultime versioni disponibili nella sezione Control panel > Marketplace > Solution Update.

  4. Aggiorna la tua versione PHP almeno alla versione 8.0 o alla versione consigliata 8.1

    Se utilizzi BitrixVM, è possibile aggiornare PHP manualmente tramite la voce di menu: 1. Manage servers in the pool - 8. Update PHP and MySQL. Leggi di più in un corso singolo.
  5. Controlla gli aggiornamenti disponibili della piattaforma e delle soluzioni Marketplace e assicurati di installarli tutti.

Cosa fare in caso di errori durante l'aggiornamento di PHP alla versione 8.x?

  • Se ci sono errori nel funzionamento dei moduli Bitrix24 standard On-Premise, si prega di contattare Supporto di Bitrix24.

    Inoltre, se i moduli del Market contengono bitrix.* nei loro nomi, contatta il supporto di Bitrix24, ad esempio:

    bitrix.eshop
    bitrix.sitecommunity
    bitrix.sitecorporate
    bitrix.siteinfoportal
    bitrix.sitepersonal
    bitrix.learningtemplates
  • In caso di errori nel funzionamento dei moduli di terze parti installati dal Market, si prega di contattare lo sviluppatore del modulo. Puoi trovare i tuoi contatti nella scheda Supporto.


Errori comuni e loro soluzioni

Possibili cause di errori dopo l'aggiornamento a PHP 8.x:

  • Non hai installato gli aggiornamenti disponibili nel Control panel > Marketplace > Platform Update prima di eseguire l'aggiornamento a PHP 8.x.
  • Non hai installato gli aggiornamenti disponibili per le soluzioni di terze parti dal Market nel Control panel > Marketplace > Solution Update prima di eseguire l'aggiornamento a PHP 8.x.
  • Lo sviluppatore non ha aggiornato il modulo per supportare la versione 8 di PHP.

Come risolvere i problemi comuni dopo l'aggiornamento a PHP 8.x?

  • Passa alla versione precedente di PHP 7.x, installa tutti gli aggiornamenti consigliati e poi esegui nuovamente l'aggiornamento a PHP 8.x.
  • Se l'installazione degli aggiornamenti non ti aiuta a risolvere i problemi, contatta lo sviluppatore del modulo – segui le istruzioni nella sezione Cosa fare in caso di errori?.
  • Disabilita temporaneamente il modulo che contiene errori rimuovendolo dalla directory /bitrix/modules.
  • Rimuovi la soluzione di terze parti che contiene errori.

Si prega di notare che queste raccomandazioni sono fornite per risolvere i problemi nel funzionamento di un modulo specifico. Ogni bug viene esaminato individualmente dallo sviluppatore.

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

Questo errore può apparire dopo l'aggiornamento della versione PHP a 8.0 o superiore. In questo caso, il sito Web funziona correttamente, ma non è possibile installare o aggiornare qualsiasi altra soluzione fino a quando il problema non viene risolto.

Soluzione:

Per correggere l'errore, apri il file /bitrix/modules/<module_name>/install/index.php e sostituisci il codice:

function <module_name>()
con un altro codice:
function __construct()

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

Soluzione:

Connettiti a FTP/SFTP o accedi al pannello di controllo dell'hosting e abilita l'output di errore nel file /bitrix/.settings.php:

'debug' => true,

Successivamente, il testo del messaggio di errore verrà visualizzato sul sito Web.

Esempio di testo del messaggio di errore
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

In questo esempio, l'errore viene restituito dal metodo di terze parti CSuperModRep::checkBack() della soluzione super.mod.

Per correggere l'errore, nel codice checkBack() è necessario dichiarare la funzione statica::

function checkBack()
sostituire con:
 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

Questo errore può apparire dopo l'aggiornamento di PHP alla versione 8.x se non sono stati installati gli aggiornamenti della piattaforma disponibili quando utilizzi la versione PHP 7.x.

Soluzione:

Questo bug è stato corretto nell'aggiornamento del modulo principale main 22.100.0.

Passa alla versione precedente di PHP 7.x, installa tutti gli aggiornamenti consigliati e poi esegui nuovamente l'aggiornamento a 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)...

Questo errore può apparire dopo aver aggiornato PHP alla versione 8, ma non è ovvio.

Esempio di testo del messaggio di errore
[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

Il testo del messaggio di errore non mostra la directory del modulo, ma questo metodo COMP\BXE\EventHandlers::AdminContextMenuShow() appartiene al modulo di terze parti.

Soluzione:

Per correggere l'errore, nel codice AdminContextMenuShow() è necessario dichiarare la funzione statica:

function AdminContextMenuShow()
sostituire con:
public static function AdminContextMenuShow()

Una schermata vuota dopo l'aggiornamento a PHP 8.х (nella versione PHP 7.4 funziona tutto)

Questo errore può apparire a causa delle impostazioni dei parametri short_open_tag = Off.

Soluzione:

  • Nel file di configurazione PHP, imposta il valore short_open_tag = On.
  • Controlla i registri del server Web per eventuali errori e correggerli.
  • Inoltre, è possibile controllare gli errori sulla pagina con la schermata vuota: Fare clic con il tasto destro sulla pagina e seleziona Visualizza il codice sorgente della pagina, scorri verso il basso e verifica se ci sono errori.
Questa informazione è stata utile?
Assistenza di uno specialista
Non è quello che sto cercando.
Testo complesso e incomprensibile
Le informazioni sono obsolete.
Troppo breve, ho bisogno di maggiori informazioni.
Non mi soddisfa come funziona questo strumento
Vai a Bitrix24
Non hai ancora un account? Crealo gratuitamente
Articoli correlati
Requisiti tecnici per la versione di Bitrix24 On-Premise Errore: rimuovere l'impostazione PHP mbstring.func_overload Bitrix24 On-Premise: attivare le chiamate di gruppo fino a 48 utenti Abbonarsi ai servizi di telefonia nella versione di Bitrix24 On-Premise