./bin/console suitecrm:app:upgrade -t SuiteCRM-8.3.0
Это страница содержит описание для SuiteCRM 8.x. Описание для SuiteCRM 7.x. находится здесь.
Если в процессе обновления возникли проблемы - обратитесь к разделу Возможные проблемы.
Перед обновлением системы сверьтесь с таблицей совместимости и убедитесь, что у вас установлены все необходимые компоненты.
Перед выполнением обновления настоятельно рекомендуется сделать резервную копию как файлов системы, так и базы данных.
Рекомендуем сначала запустить процесс обновления в отдельном экземпляре системы и протестировать полученный результат. После успешного тестирования повторите процесс обновления на рабочем экземпляре SuiteCRM.
По умолчанию команды обновления устанавливают для директивы error_reporting
менее строгий режим для подавления предупреждений,
присваивая ей значение E_ALL & ~E_DEPRECATED & ~E_STRICT & ~E_NOTICE & ~E_WARNING
.
Если вы хотите установить более строгий режим, укажите -vvv
для каждой из команд.
Этот ключ присвоит директиве error_reporting
значение E_ALL
.
Обратите внимание: в процессе обновления из корневой папки системы, а также из папки public/legacy могут быть удалены любые файлы и папки, не относящиеся к основным файлам SuiteCRM.
Перед обновлением убедитесь, что переменная APP_ENV в файлах .env или .env.local установлена в значение prod
.
Если установлена версия 8.0.x - 8.1.x, но вы бы хотели обновиться до версии 8.3.x или более поздней версии - сначала обновитесь до версии 8.2.x, после чего вы сможете обновиться до желаемой конечной версии.
При обновлении между версиями SuiteCRM 8.x нет необходимости в каком-либо специальном пакете обновления. Для этого используется обычный установочный пакет той версии, до которой вы планируете произвести обновление.
Скачайте необходимый пакет.
В установленном экземпляре системы создайте папку <your-suitecrm-8-root-folder>/tmp/package/upgrade
и скопируйте в неё скачанный пакет. При необходимости задайте соответствующие права доступа на скопированный файл.
Из корневой папки SuiteCRM 8 запустите: ./bin/console suitecrm:app:upgrade -t "<версия>"
,
где <версия>
- название пакета с устанавливаемой SuiteCRM 8, например: SuiteCRM-8.3.0
Пример:
./bin/console suitecrm:app:upgrade -t SuiteCRM-8.3.0
В результате выполнения обновления вы увидите приблизительно следующее:
В этой версии обновления сообщения, начинающиеся с libpng warning
, можно игнорировать.
SuiteCRM Upgrade
============
Running: check-package
step: check-package | status: done
Package found in path
Running: extract-package
step: extract-package | status: done
Package extracted
Running: check-permissions
step: check-permissions | status: done
Permissions checked
Running: install-upgrade-package
step: install-upgrade-package | status: done
Successfully installed package
Running: run-migrations
step: run-migrations | status: done
Successfully run migrations
Running: legacy-post-upgrade
libpng warning: Interlace handling should be turned on when using png_read_image
libpng warning: Interlace handling should be turned on when using png_read_image
libpng warning: Interlace handling should be turned on when using png_read_image
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: Interlace handling should be turned on when using png_read_image
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: Interlace handling should be turned on when using png_read_image
step: legacy-post-upgrade | status: done
Post Upgrade process complete
Running: clear-symfony-cache
Если обновляемый экземпляр системы был значительно кастомизирован, на этом этапе могут возникнуть проблемы. Убедитесь, что изменённый код совместим как минимум с php версии 7.4.
Из корневой папки SuiteCRM 8 запустите: ./bin/console suitecrm:app:upgrade-finalize -t "<версия>"
,
где <версия>
- название пакета с устанавливаемой SuiteCRM 8, например: SuiteCRM-8.3.0
Пример:
./bin/console suitecrm:app:upgrade-finalize -t SuiteCRM-8.3.0
В этой команде вы можете указать режим слияния, который вы хотите использовать при объединении метаданных,
указав необходимый режим после ключа -m
.
По умолчанию используется режим keep
.
Режим KEEP
Этот режим сохранит все существующие ранее метаданные, слияние выполняться не будет.
Этот режим используется по умолчанию.
В консоли выполните:
./bin/console suitecrm:app:upgrade-finalize -m keep
Режим MERGE
Этот режим попытается объединить все существующие ранее метаданные с новыми метаданными. Объединение будет выполнено для каждого модуля.
Объединенные метаданные помещаются в папку custom соответствующего модуля: public/legacy/custom/<Module>/metadata
В эту же папку добавляется файл резервной копии предыдущей версии метаданных
В консоли выполните:
./bin/console suitecrm:app:upgrade-finalize -m merge
Режим OVERRIDE
Этот режим заменит все текущие настройки новой версией метаданных.
В результате будут удалены все текущие файлы настроек из папки public/legacy/custom/<Module>/metadata
!
В консоли выполните:
./bin/console suitecrm:app:upgrade-finalize -m override
Если во время процесса миграции вы использовали пользователя/группу, которые не совпадают с теми, которые используются веб-сервером, вам следует переустановить соответствующие права.
Если вы используете OPCache
, ACP
или другие оптимизаторы, может потребоваться перезапуск веб-сервера, чтобы применённые изменения вступили в силу.
Если все вышеперечисленные шаги были выполнены правильно, вы сможете войти в обновленный экземпляр SuiteCRM 8.
Отладка рассматривается в разделе Файлы журнала и отладка системы.
При обновлении между версиями SuiteCRM 8.x нет необходимости в каком-либо специальном пакете обновления. Для этого используется обычный установочный пакет той версии, до которой вы планируете произвести обновление.
Скачайте необходимый пакет .
В установленном экземпляре системы создайте папку <your-suitecrm-8-root-folder>/tmp/package/upgrade
и скопируйте в неё скачанный пакет. При необходимости задайте соответствующие права доступа на скопированный файл.
Из корневой папки SuiteCRM 8 запустите:
./bin/console suitecrm:app:upgrade -t "<версия>"
где <версия>
- название пакета с устанавливаемой SuiteCRM 8, например: SuiteCRM-8.1.1
Пример:
./bin/console suitecrm:app:upgrade -t SuiteCRM-8.1.1
В результате выполнения обновления вы увидите приблизительно следующее:
В этой версии обновления сообщения, начинающиеся с libpng warning
, можно игнорировать.
SuiteCRM Upgrade
============
Running: check-package
step: check-package | status: done
Package found in path
Running: extract-package
step: extract-package | status: done
Package extracted
Running: check-permissions
step: check-permissions | status: done
Permissions checked
Running: install-upgrade-package
step: install-upgrade-package | status: done
Successfully installed package
Running: run-migrations
step: run-migrations | status: done
Successfully run migrations
Running: legacy-post-upgrade
libpng warning: Interlace handling should be turned on when using png_read_image
libpng warning: Interlace handling should be turned on when using png_read_image
libpng warning: Interlace handling should be turned on when using png_read_image
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: Interlace handling should be turned on when using png_read_image
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: Interlace handling should be turned on when using png_read_image
step: legacy-post-upgrade | status: done
Post Upgrade process complete
Running: clear-symfony-cache
При необходимости установите необходимые права доступа.
Заново войдите в систему.
Обновление рассматривается в англоязычном разделе руководства.
Команды, используемые во время обновления, предоставляют определённую информацию о выполняемых шагах и результатах их выполнения. Однако этой информации может быть недостаточно при возникновении ошибок.
Есть несколько файлов журнала, которые могут предоставить дополнительную информацию:
logs/upgrade.log
Файл журнала, создаваемый при обновлении SuiteCRM 8.
public/legacy/upgradeWizard.log
Специальный журнал обновления, создаётся устаревшей частью приложения. файл создается на этапе legacy-post-upgrade
.
logs/<app-env-mode>/<app-env-mode>.log
Основной журнал системы. Путь к файлу и имя меняются в соответствии со значением, установленным в переменной APP_ENV. Например, если значение установлено в prod
, путь к файлу журнала будет logs/prod/prod.log
В этом журнале скорее всего не будет содержаться много информации об обновлении.
public/legacy/suitecrm.log
Это основной журнал устаревшей части приложения. Он может содержать записи, связанные с обновлением, а также другую полезную информацию.
При запуске приложения в рабочем режиме переменная APP_ENV в файлах .env или .env.local должна быть установлена в значение prod
. Однако в этом режиме не вся отладочная информация будет регистрироваться.
Один из способов получить более детальную информацию — изменить значение переменной APP_ENV на qa
(этот режим следует использовать только временно).
После этого вам, возможно, придется очистить кеш symfony.
Обнаружена проблема при выполнении обновления между версиями 8.1.0
→ 8.1.1
.
Проблема состоит в том, что при обновлении SuiteCRM 8 во второй раз (например, в такой последовательности: 8.0.2 → 8.0.4 → 8.1.1) после запуска команды
./bin/console suitecrm:app:upgrade -t "<версия>"
будет отображена следующая ошибка:
CRITICAL [php] Fatal Compile Error: require(): Failed opening required '/<pathtoSuiteCRM8>/cache/prod/ContainerZatgzYy/getConsole_ErrorListenerService.php'
(include_path='/<pathtoSuiteCRM8>/public/legacy/include/..:.:/usr/share/php')
["exception" => Symfony\Component\ErrorHandler\Error\FatalError^ { …}]
Решение: Переустановите права доступа и из корневой папки SuiteCRM 8 выполните команду:
./bin/console clear:cache
Content is available under GNU Free Documentation License 1.3 or later unless otherwise noted.