Errors when updating Bitrix
The last notes
All English-language materials have been translated fully automatically using the Google service
1. [Ux11] Error describing module "module.name".
Unable to connect to update server. [Ux11] Error describing module "module.name"
Try updating the module to the latest version. If it doesn't help, then in /bitrix/modules/module.name/install/index.php
replace function module_name()
with function __construct()
>
2. call_user_func_array(): Argument #1 ($function) must be a valid callback, non-static method ModuleName::ClassMethod() cannot be called statically (0)
Find the module along the path /bitrix/modules/module.name
, and in it the class method that causes an error and add static
3. Call to undefined method CAllCurrencyLang::CurrencyFormat()
In the file /bitrix/modules/aspro.next/classes/general/CNext.php
or similar, change CAllCurrencyLang::CurrencyFormat
to CCurrencyLang::CurrencyFormat
4. Fatal error: Cannot declare class Bitrix\Iblock\ElementTable, because the name is already in use
or Fatal error: Cannot declare class Bitrix\Iblock\SectionTable, because the name is already in use< /code>
Check for the presence of the file /bitrix/modules/iblock/lib/elementtable.php
and if it exists, delete the file /bitrix/modules/iblock/lib/element.php code>
For SectionTable
, rename or delete the file /bitrix/modules/iblock/lib/section.php
5. Undefined class constant 'INFO_NOT_AVAILABLE' (0)
Often occurs in /home/bitrix/www/bitrix/modules/aspro.max/classes/general/CMaxCache.php:523
and similar
Go to the Aspro class with an error, find \Bitrix\Main\Service\GeoIp\Manager::INFO_NOT_AVAILABLE
and change it to null
Before:
if($obBitrixGeoIPResult !== \Bitrix\Main\Service\GeoIp\Manager::INFO_NOT_AVAILABLE){
New:
if($obBitrixGeoIPResult !== null){
6. Call to undefined method CMain::reinitPath()
Before:
$APPLICATION->reinitPath();
New:
$APPLICATION->sDocPath2 = GetPagePath(false, true);
$APPLICATION->sDirPath = GetDirPath($APPLICATION->sDocPath2);
7. Mysql query error: (1146) Table '#DB_NAME#.b_sale_trading_platform' doesn't exist
The error occurs when the kernel is not updated correctly. You need to go to /bitrix/modules/sale/lib/
and delete or comment out tradingplatform.php
8. Fatal error: Cannot declare class Bitrix\Highloadblock\HighloadBlockLangTable, because the name is already in use in /home/restoll/data/www/bitrix/modules/highloadblock/lib/highloadblocklang.php on line 6
Another error of incorrect kernel update. Go to /bitrix/modules/highloadblock/lib
, make sure that there are both files highloadblocklang.php
and highloadblocklangtable.php
. Delete the one without table
in the title
9. After the update, the display of all order properties disappeared from the list of orders in the admin panel. Moreover, this only happened to orders that existed before the update.
In my case, the cause of the error was the absence of the "ORDER" entry in the "ENTITY_TYPE" field in the admin panel. Writing a simple script
$rs = $DB->Query("SELECT * FROM b_sale_order_props_value WHERE ENTITY_TYPE = ''"); while ($prop = $rs->Fetch()) { $IDS[] = $prop['ID']; } $connection = Bitrix\Main\Application::getConnection('default'); $sqlHelper = $connection->getSqlHelper(); $connection->queryExecute("UPDATE b_sale_order_props_value SET ENTITY_TYPE = '".$sqlHelper->forSql ('ORDER')."' WHERE ID IN (".implode(",", $IDS).")");
Comments