Не идет обновление.

В версии 4.3.1 Центр обновлений был обновлен (сейчас в нем используются миграции). Сейчас перед обновлением система делает резервную копию всех файлов ядра CS-Сart, а не только обновляемых файлов, как раньше и полную копию базы данных. В каких-то случаях система не может завершить создание резервной копии. Как правило, это связано с ограничениями на сервере. В данном случае наиболее правильным решением будет изучить журнал сервера, выяснить, какое ограничение мешает создать резервную копию и изменить настройки сервера, чтобы решить проблему. Мы рекомендуем обратиться к администратору сервера для проверки журналов и таймаутов сервера.


Как вариант, попробуйте отключить создание резервной копии во время установки, предварительно создав резервную копию магазина и базы данных.


Для этого в вашей версии откройте файл app/Tygh/UpgradeCenter/App.php и закомментируйте следующую часть кода:

$logger->add('Backing up files and database');

          Output::display(__('backup_data'), '', true);



          $backup_file = DataKeeper::backup(array(

              'pack_name' => $backup_filename,

              'compress' => 'zip',

              'set_comet_steps' => false,

              'move_progress' => false,

              'extra_folders' => array(

                  'var/langs'

              )

          ));

          if (empty($backup_file) || !file_exists($backup_file)) {

              $logger->add('Upgrade stopped: failed to backup DB/files');


              return array(false, array(__('backup') => __('text_uc_failed_to_backup_tables')));

          }


          $logger->add(sprintf('Backup created at "%s"', $backup_file));


          // Send mail to admin e-mail with information about backup

          $email_recipients = array();


          $user_data = fn_get_user_short_info($_SESSION['auth']['user_id']);

          if (!empty($user_data['email'])) {

              $email_recipients[] = $user_data['email'];

          }


          $user_is_root_admin = isset($_SESSION['auth']['is_root']) && $_SESSION['auth']['is_root'] == 'Y';

          if (!$user_is_root_admin) {

              $root_admin_id = db_get_field(

                  "SELECT user_id FROM cscart_users WHERE company_id = 0 AND is_root = 'Y' AND user_type = 'A'"

              );

              $root_admin_data = fn_get_user_short_info($root_admin_id);


              if (!empty($root_admin_data['email'])) {

                  $email_recipients[] = $root_admin_data['email'];

              }

          }


          $logger->add(sprintf('Sending upgrade information e-mail to: %s', implode(', ', $email_recipients)));


          $mail_sent = Mailer::sendMail(array(

              'to' => $email_recipients,

              'from' => 'default_company_site_administrator',

              'data' => array(

                  'backup_file' => $backup_file,

                  'settings_section_url' => fn_url('settings.manage'),

                  'restore_link' => "{$restore_http_path}?uak={$restore_key}",

              ),

              'tpl' => 'upgrade/backup_info.tpl',

          ), 'A', Registry::get('settings.Appearance.backend_default_language'));


          if ($mail_sent) {

              $logger->add('E-mail was successfully sent');

          } else {

              $logger->add('Failed to send e-mail');


              return array(false, array());

          }

×

Получите бесплатно уникальную книгу «Убойные советы по электронной коммерции»

  • Почему посетители не покупают?
  • Как увеличить конверсию?
  • Какой маркетинговый инструмент работает лучше всего для интернет-магазина?