Upgrading to latest version throws up PHP version error

Hello,
I’m trying to update my SuiteCRM from version 7.11 to 7.12.6 but the upgrade package tool keeps throwing up this error:

“The uploaded file is not compatible with this version of PHP:
PHP Version: 7.2.34”

The PHP Version running on the website is PHP version: 7.4.29
The .htaccess file in the site root contains this:

“#+PHPVersion
#=“php74”
AddHandler x-httpd-php74 .php
#-PHPVersion

If I run the Diagnostic Tool from within Admin, it reports that the PHP version is 7.2.34

I’ve tried running the Quick repair and rebuild and also the Repair htaccess tools but that doesn’t seem to have made any difference.

Anyone know why the versions don’t match and how do I fix it please?
Thanks in advance
Dan

PARTIAL SOLUTION:

The version I have installed is 7.11.5 which is quite an old version.
The way round it is doing smaller incremental upgrades by downloading the updates from SuiteCRM - Browse /upgrades at SourceForge.net and running the update wizard in stages.

[EDIT]

I’ve managed to update SCRM to 7.11.23
I can’t use the Upgrade 7.11.x to 7.12.0 upgrade file as I get the same error as the original, ‘The uploaded file is not compatible with this version of PHP:
PHP Version: 7.2.34’

Trying to run the last patch 7.12.6 Upgrade from 7.11.x on Upgrade SuiteCRM - SuiteCRM
Throws up the same error as above.

FRUSTRATING

In Admin, Diagnostics, phpinfo, you get the effective values that SuiteCRM is using, and you can see the path to your effective php.ini (used from the web server, which is different from CLI which you get from the command-line php executable).

I think your issue is just about getting the PHP version configuration right for web server PHP. I normally don’t do that from .htaccess, but using apt-get to install and a2enmod to switch (search online for tutorials on how to switch PHP version).

Always stay inside the matrix (pun intended):

… both regarding the version you’re upgrading from, and the one you’re upgrading to.

SOLUTION FOUND:

If the server you’re running SuiteCRM on is running PHP version 7.2 and you install SuiteCRM the .htaccess file used within SuiteCRM will reflect that version.

If you then upgrade the PHP version on your server, the .htaccess used within SuiteCRM doesn’t change/upgrade to the latest version - EVEN if you click the ‘Repair htacess’ tool within Admin > Repair in SuiteCRM, this does not copy the values from the root .htaccess

  1. If you can access the file structure of where your SuiteCRM is installed, the fix is to edit the .htaccess inside the SuiteCRM folder in the top level directory where it’s installed.

There are various headings inside the .htaccess file such as:

CSS
Data
Favicon
HTML
JavaScript
Markdown
… and more

Scroll down to ‘#Other
In that section you’ll see

#+PHPVersion
#=“phpXX”
AddHandler x-httpd-phpXX .php
#-PHPVersion

(XX is the PHP version that SuiteCRM is using at the time of install)

Change the XX to the latest Major.Minor version that you’re happy to use or the latest PHP version that’s installed on your server.

NOTE:
The more recent versions of SuiteCRM use PHP version 7.4 and upwards.

So, change the code above to EITHER

#+PHPVersion
#=“php74”
AddHandler x-httpd-php74 .php
#-PHPVersion

OR

#+PHPVersion
#=“php81”
AddHandler x-httpd-php81 .php
#-PHPVersion

  1. Save the .htaccess file

  2. Go to SuiteCRM - Browse /upgrades at SourceForge.net and download the upgrade you want.
    NOTE: If you’re doing upgrades within the same Major.Minor group (e.g 7.11.I-23, DO NOT upgrade outside of that upgrade group i.e 7.11.7 to 7.12.x (see below)

  3. Go back into SuiteCRM and head to the Upgrade Wizard section in the Admin Panel and follow the upgrade instructions.

Upgrading from Version 7.11 to 7.12:

  1. Go to Upgrade SuiteCRM - SuiteCRM and download the “7.12.6 Upgrade from 7.11.x” patch.
  2. Go back into the Upgrade Wizard in the Admin panel
  3. Follow the upgrade instructions as per the wizard but make sure to upload the file you’ve just downloaded above.

Once complete, you’ll be on the 7.12.6 version of SuiteCRM.

At the time of writing, I am not comfortable upgrading straight to Version 8 yet as it’s quite new out and I’d like to use a stable release before any major upgrades.

I hope this helps someone

Ok, thanks for the write-up.

I’m curious, why do you prefer to manage PHP version from within .htaccess?

I’ve never done that (I didn’t even know it was possible), and I’ve never felt the need for it…

Well, the PHP version has been set already in my cPanel but that doesn’t force all other websites with my estate to upgrade to whatever setting is in the cPanel.

This enables any website software to be compatible with any version of PHP.

In this case, SuiteCRM was installed when the root version was PHP7.2 but when I updated the PHP to 7.4, it did not update the version that SuiteCRM was using.

I would have thought, however that if I change the root version of PHP and under the ‘Repair htaccess’ tool within SuiteCRM, it would have reflected the change as per the Host Root version.

The hosting is not on one of my machines, it’s a 3rd party hosting provider (e.g fasthost etc) so running command line scripts or installing 3rd party software outside of my cPanel isn’t possible.

1 Like