Upgrade from SuiteCRM 7.14.x to 7.15.x fails

Hi all,

I’m currently stuck upgrading SuiteCRM 7.14.x → 7.15.x and I’m hoping someone can clarify the correct and supported upgrade procedure, especially regarding PHP version switching.

I’ve successfully upgraded through many previous versions (7.6 → 7.7 →7.8 → 7.9 → 7.10 → 7.11 → 7.12 → 7.14), so I’m familiar with the Upgrade Wizard and general upgrade process. This particular step consistently fails.


Environment

  • Current SuiteCRM version: 7.14.x (tested 7.14.5, 7.14.6, 7.14.8)

  • Target version: 7.15.x

  • OS: Ubuntu (fresh VM, snapshots used)

  • Web server: Apache 2.4

  • Database: MariaDB (supported version)

  • PHP versions tested:

    • PHP 7.4 :cross_mark: (upgrade package reports unsupported PHP version)

    • PHP 8.1 :cross_mark:

    • PHP 8.2 :white_check_mark: (meets compatibility matrix and active in Apache)

phpinfo() confirms PHP 8.2 is correctly loaded by Apache and required extensions are enabled.


What happens during upgrade

  1. Upload SuiteCRM-Upgrade-7.14.x-to-7.15.x.zip

  2. System Check & Preflight Check pass

  3. Upgrade starts

  4. During commit phase:

    • The server hangs

    • Eventually results in an HTTP 500 error

  5. After restarting Apache / server:

    • SuiteCRM is no longer accessible

    • I must restore from snapshot

There is no clear indication of heavy CPU or memory usage during the hang.


Key concern / confusion

According to the official compatibility matrix:

  • SuiteCRM 7.14.x supports PHP 8.1, 8.2

  • SuiteCRM 7.15.x supports PHP 8.1, 8.2, 8.3, 8.4

However:

  • If I upgrade PHP to 8.x before upgrading SuiteCRM, the upgrade crashes.

  • If I stay on PHP 7.4, the upgrade package refuses to install.

This seems to create a catch-22:

  • PHP 8.x is required

  • But switching to PHP 8.x first causes the upgrade to fail


Questions

  1. What is the officially supported PHP version during the upgrade itself from 7.14.x to 7.15.x?

  2. Should PHP 8.x be enabled before, during, or after the SuiteCRM upgrade?

  3. Is there a recommended PHP configuration or migration strategy specifically for this upgrade?

  4. Are there any known issues with the 7.14.x → 7.15.x upgrade packages?

Any guidance or confirmation of a working procedure would be greatly appreciated.

Thanks in advance.

Do you have any customization?

Do you have any add-on?

Make sure you have correct permissions set for files & folders.

You can change log level. Check the error_reporting in php.ini file.

What is the 500 error?

Hi RSP,
Thank you very much for replying and trying to help.

I don’t have any add-ons installed. When I try to use
sudo tail -f /var/log/apache2/error.log Apache doesn’t log any errors.

sudo tail -f /var/log/apache2/error.log
[Fri Jan 16 09:17:49.463150 2026] [mpm_prefork:notice] [pid 26475] AH00163: Apache/2.4.58 (Ubuntu) configured – resuming normal operations
[Fri Jan 16 09:17:49.463244 2026] [core:notice] [pid 26475] AH00094: Command line: ‘/usr/sbin/apache2’

When running the upgrade. The browser screen will stay on “file copying in progress“. It doesn’t matter which browser I user. I tried Firefox ande Edge.

Eventually, after 5 minutes (max age timer, and upload time are set to 1 hour) I will get an HTTP 500 error. Even when rebooting the server, the suitecrm instance isn’t available anymore. The HTTP error 500 page will always be presented. Even when I try to delete cookies, doesn’t make any difference.

The only way to get suitecrm back up and running is restoring the 14.X snapshot.

You need to check log files in suitecrm folder.

The only way we can help you is if you can tell us what the 500 error is.

I fixed it.

I hadn’t installed the php8.2-intl class. After installing the upgrade when flawlessly.

If you’re still interested. Here is the log:

[Mon Jan 19 08:40:18.492796 2026] [php:error] [pid 27338] [client 192.168.0.168:56822] PHP Fatal error: Uncaught Error: Class “IntlDateFormatter” not found in /var/www/sugarcrm/include/SugarLogger/SugarLogger.php:243\nStack trace:\n#0 /var/www/sugarcrm/include/SugarLogger/SugarLogger.php(150): SugarLogger->setDateFormatter()\n#1 /var/www/sugarcrm/include/SugarLogger/SugarLogger.php(137): SugarLogger->_doInitialization()\n#2 /var/www/sugarcrm/include/SugarLogger/LoggerManager.php(241): SugarLogger->__construct()\n#3 /var/www/sugarcrm/include/SugarLogger/LoggerManager.php(109): LoggerManager->_findAvailableLoggers()\n#4 /var/www/sugarcrm/include/SugarLogger/LoggerManager.php(202): LoggerManager->__construct()\n#5 /var/www/sugarcrm/include/entryPoint.php(151): LoggerManager::getLogger()\n#6 /var/www/sugarcrm/index.php(47): require_once(‘…’)\n#7 {main}\n thrown in /var/www/sugarcrm/include/SugarLogger/SugarLogger.php on line 243, referer: ``http://192.168.0.189/index.php

Thanks everyone for the help and support.

2 Likes

It’s possible you’re missing quite a few other PHP extensions, here’s a quick copy-paste from what I usually install in Ubuntu:

sudo apt install php8.2-common php8.2-mysql php8.2-xml php8.2-xmlrpc php8.2-curl php8.2-gd php8.2-imagick php8.2-cli php8.2-dev php8.2-imap php8.2-mbstring php8.2-opcache php8.2-soap php8.2-zip php8.2-intl php8.2-ldap -y

I also install xdebug in dev environments.

2 Likes

Thank you very much for the list. Definetely going to check if I missed some.

I had problems too on updating 7.14 to 7.15 with apache and php-fpm, the 7.15 update ran into an timout because it took a little bit too long. You may have to wait more than 5 minutes for the update to complete.
Had to increase the timout in /etc/apache2/apache2.conf

#
# Timeout: The number of seconds before receives and sends time out.
#
Timeout 900
2 Likes

Dear @pstevens,

I am also facing issues with the setup SuiteCrm 7.15 while using PHP 8.2.9 with MS SQL Server.

Warning: Undefined array key “setup_db_type” in C:\Apache24\htdocs\SuiteCRM\install\install_utils.php on line 596

Warning: Undefined array key “setup_db_manager” in C:\Apache24\htdocs\SuiteCRM\install\install_utils.php on line 596
Cannot load DB manager
Fatal error: Uncaught Exception: Cannot load DB manager in C:\Apache24\htdocs\SuiteCRM\include\utils.php:1976 Stack trace: #0 C:\Apache24\htdocs\SuiteCRM\include\database\DBManagerFactory.php(101): sugar_die(‘Cannot load DB …’) #1 C:\Apache24\htdocs\SuiteCRM\install\install_utils.php(596): DBManagerFactory::getTypeInstance(NULL, Array) #2 C:\Apache24\htdocs\SuiteCRM\install\checkDBSettings.php(321): getInstallDbInstance() #3 C:\Apache24\htdocs\SuiteCRM\install\checkDBSettings.php(54): copyInputsIntoSession() #4 C:\Apache24\htdocs\SuiteCRM\install.php(357): checkDBSettings() #5 {main} thrown in C:\Apache24\htdocs\SuiteCRM\include\utils.php on line 1976

Is there any update on this issue?

I have the same problem on several servers and I found that the backup of the files in the update process is very, very (did I say: very) slow. The update from 7.14.8 to 7.14.9 always goes without problems.

Update to 7.15.2 on my home server needs 5 minutes and setting timout higher did help.

On a server hosted by a provider (netcup) it was very slow and run for over 3 hours (sic!) now. It works with refreshing the tab every 2 minutes even after the 500 error and I can see in the upgradeWizard.log that it is going forward:

Wed, 22 Apr 2026 16:52:38 +0200 [UpgradeWizard] - Backing up file: …

Would it be possible to disable the backup of the files?

Is there an issue on github for this?

You could raise an issue on the GitHub page.

o.k. thank you.

I stopped the wizard, restored the 7.14.9 backup and tried the silent upgrade (CLI) and it works perfect.

I get:

[Exec] Done in 26.268s
➜ Upgrade Complete!
ERROR: Use of “self” in callables is deprecated
in /suitecrm-test.laaw.nrw/suitecrm-test/vendor/consolidation/robo/src/Task/Base/Exec.php:66

on the CLI but the log said:

[UpgradeWizard] - ***** SilentUpgrade completed successfully.

So I will test if this works on all systems.

1 Like