Topic: Upgrade path for huge leap 2.3.19 -> 2.4.20

I am currently running FA 2.3.19 on Debian 7 (Wheezy) with PHP 5.4. I need to move FA to a new server running Debian 13 (Trixie) and PHP 8.4.

From what I have found, the start of the upgrade path should be:
FA 2.3.19 -> FA 2.3.26 (old server)
FA 2.3.26 -> 2.4.1 (old server, includes database conversions)
But what then?

I assume at some point FA 2.4.X does not run on PHP 5.4 anymore and the next version 2.4.Y does not run on PHP 8.4 yet. I have not been able to find the PHP requirements for each FA version.

I think I need to find 2 versions of FA which
- use the same database format
- the older version runs on PHP 5.4
- the newer version runs on PHP 8.4
So I would export the database on the older version, followed by an import on the newer version.

Does that even exist? Or is there a better way?

2 (edited by jlinkels Yesterday 03:17:45 pm)

Re: Upgrade path for huge leap 2.3.19 -> 2.4.20

I write an update here on my proceedings. I don't say this was the smartest way to do. But I did not know what I could expect. I did everything on a virtual machine running Debian Trixie 13.3 and a copy of the 2.3.19 database.

FA 2.3.19 on PHP5.6: Some errors in the language module, FA said the locale (nl_NL.iso88591) was not supported. It was installed though.
Upgraded to FA 2.3.26 on PHP5.6: No differences.
Upgraded to FA 2.4.1 op PHP5.6. Updated database. No issues. Language problems solved.

Installed PHP7.4. FA 2.4.1 was not compatible with this PHP version.
Upgraded to FA 2.4.1 on PHP7.4
There was an issue with Banking & General Ledger -> Reports and Analysis -> General Ledger: All types of requested reports. Only a Yellow Warning Triangle would show up on top.
The same issue with Sales -> Customer Transactions
Turning off Javascript worked as a workaround. Error in Firefox debug console: Javascript backend error

Upgraded to FA 2.3.20 and PHP8.4
I encountered one major issue:
When entering:
Banking and General Ledger -> Bank Account Payment Entry -> Quick Entry
after selecting Quick Entry, this red error bar pops up:
Trying to access array offset on false in file: /var/www/html/account/gl/includes/ui/gl_bank_ui.inc on line97

In the screen:
Banking and General Ledger -> Bank Account Inquiry
This error pops up:
Trying to access array offset on false in file: /var/www/html/account/includes/types.inc on line135
But only when transactions are recorded during that period that is queried.

Downgrading to PHP7.4 did not help
Downgrading to FA 2.3.19 on PHP7.4 did not help
Restoring the database which was created with FA 2.4.1 on PHP5.6 did not help.

I filed a bug for this last issue: http://mantis.frontaccounting.com./view.php?id=5767

In hindsight, I could have upgraded from FA 2.4.1 to 2.4.20 and from PHP5.6 tot PHP 8.4
When trying to find more information about the "array access" error this is what I actually did. And it made no difference.

That is a huge achievement by the developers that this is even possible. There is way too many software which require updates every 6 months and if you have skipped 2 updates then the damage is irrepairable. Certainly not when older versions are made unavailable. And the problem is not just to upgrade an application, usually you also have to upgrade the platform, then the OS and eventually the hardware. It is a sad world and a HUGE THANK YOU to the FA developer team that they adhere to a quite different policy.