Updating from OJS 2.4.8.5 to OJS 3.3.0.8

Hi! I’m currently upgrading from OJS 2.4.8.5 to OJS 3.3.0.8. But when I try to click the “Upgrade Open Journal Systems”, I’m having a HTTP ERROR 500. When I checked the error logs these are the errors:

Blockquote[07-Feb-2022 03:03:11 America/Boise] PHP Fatal error: Uncaught PDOException: SQLSTATE[42S22]: Column not found: 1054 Unknown column ‘context_id’ in ‘where clause’ in /home2/pnuresea/public_html/ojsv2/lib/pkp/lib/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:78
Stack trace:
#0 /home2/pnuresea/public_html/ojsv2/lib/pkp/lib/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php(78): PDO->prepare(‘SELECT setting_…’, Array)
#1 /home2/pnuresea/public_html/ojsv2/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Connection.php(361): Doctrine\DBAL\Driver\PDOConnection->prepare(Object(Illuminate\Database\Query\Expression))
#2 /home2/pnuresea/public_html/ojsv2/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Connection.php(664): Illuminate\Database\Connection->Illuminate\Database{closure}(Object(Illuminate\Database\Query\Expression), Array)
#3 /home2/pnuresea/public_html/ojsv2/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Connection.php(631): Illuminate\Database\Connection->runQueryCallback(Object(Illumina in /home2/pnuresea/public_html/ojsv2/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Connection.php on line 671

I already checked the database connection, I also checked this forum https://github.com/pkp/pkp-lib/issues/6698 because we had the same error. I already followed the required settings but still HTTP ERROR 500.

Can anyone help me with this issue?

Thank you so much.

I recommend updating in the following order.
OJS 2 to OJS 3.0.2
OJS 3.0.2 to 3.1.2-4
OJS 3.1.2-4 to 3.3.0.8

1 Like

Hi! I’m currently updating from OJS 2 to OJS 3.0.2, I’ve encountered lots of errors during the update but I have resolved some issues successfuly however these error keeps on appearing:

DevelopedByBlockPlugin::getSeq() should be compatible with BlockPlugin::getSeq($contextId = NULL) in /home2/pnuresea/public_html/ojsv2/plugins/blocks/developedBy/DevelopedByBlockPlugin.inc.php on line 79

Warning: Declaration of DevelopedByBlockPlugin::getBlockContext() should be compatible with BlockPlugin::getBlockContext($contextId = NULL) in /home2/pnuresea/public_html/ojsv2/plugins/blocks/developedBy/DevelopedByBlockPlugin.inc.php on line 79

Warning: Declaration of DevelopedByBlockPlugin::getEnabled() should be compatible with BlockPlugin::getEnabled($contextId = NULL) in /home2/pnuresea/public_html/ojsv2/plugins/blocks/developedBy/DevelopedByBlockPlugin.inc.php on line 79

Warning: Cannot modify header information - headers already sent by (output started at /home2/pnuresea/public_html/ojsv2/plugins/blocks/developedBy/DevelopedByBlockPlugin.inc.php:79) in /home2/pnuresea/public_html/ojsv2/lib/pkp/classes/template/PKPTemplateManager.inc.php on line 773

Warning: Cannot modify header information - headers already sent by (output started at /home2/pnuresea/public_html/ojsv2/plugins/blocks/developedBy/DevelopedByBlockPlugin.inc.php:79) in /home2/pnuresea/public_html/ojsv2/lib/pkp/classes/template/PKPTemplateManager.inc.php on line 776

What should I do? Thank you.

Hi @_patrishamae, the warnings you see should not stop the upgrade process, so the upgrade may still have been successful. If you haven’t seen it yet, I recommend looking at the documentation on How to Upgrade.

2 Likes

Hi @NateWr, I’ve tried reinstalling it again. The page loads for a couple of minutes and it will just bring me back to this page:

image

@_patrishamae make sure that display_errors = Off in your config.inc.php file. Those notices should go to your server’s error log. They shouldn’t get printed to the screen.

Once you do this, you will probably see new error messages in your server’s error log.

1 Like

Hi @NateWr, thank you for your response. I tried running the installation again and found the exact error below

  • A database error has occurred: Table ‘pnuresea_ejournalv2.signoffs’ doesn’t exist

If I create a table signoffs how many columns should I create and what should I name each column and what type?

I really appreciate your help.

Hi @NateWr , I already checked the error log. These are the errors.

Can you help me with this? I’d really appreciate your help.

Thank you so much.

Hello @_patrishamae !
First, What version of PHP do you have installed?
I recommend you to have 7.3 to work with versions of OJS3.x.

Second, according to the upgrade guide, it is best to upgrade from 2.4.8 directly to 3.2.1.
I have done this without problems with 15+ journals.
Versions 3.0, 3.1 and even the first versions of 3.2 have some bugs that are corrected in 3.2.1.x
Uploading directly to this version will save you a lot of headaches.

Cheers.

1 Like

Hi @_patrishamae,

The following line still appears in your error log:

[13-Feb-2022 08:12:28 America/Boise] PHP Warning:  Cannot modify header information - headers already sent by (output started at /home2/pnuresea/public_html/ojsv2/plugins/blocks/developedBy/DevelopedByBlockPlugin.inc.php:79) in /home2/pnuresea/public_html/ojsv2/lib/pkp/classes/template/PKPTemplateManager.inc.php on line 776

That suggests that this log is from runs where display_errors = Off was not set correctly in your config. I’d also expect to see an exception or fatal error related to the database problem.

Have you followed the upgrade guide yet? I’d recommend doing that alongside @dagosalas’s recommendation about what versions to upgrade to.

2 Likes

Hi @dagosalas @NateWr,

I am using PHP 7.3 and I’m found these errors:

Fatal error : Uncaught Exception: DB Error: Unknown column ‘assoc_type’ in ‘where clause’ Query: UPDATE email_templates SET assoc_type = 530 WHERE assoc_type = ‘526’ in /home2/pnuresea/public_html/ojsv2/lib/pkp/classes/db/DAO.inc.php:703 Stack trace: #0 /home2/pnuresea/public_html/ojsv2/lib/pkp/classes/db/DAO.inc.php(231): DAO->handleError(Object(ADODB_mysqli), ‘UPDATE email_te…’) #1 /home2/pnuresea/public_html/ojsv2/classes/install/Upgrade.inc.php(742): DAO->update(‘UPDATE email_te…’) #2 /home2/pnuresea/public_html/ojsv2/lib/pkp/classes/install/Installer.inc.php(417): Upgrade->syncSeriesAssocType(Object(Upgrade), Array) #3 /home2/pnuresea/public_html/ojsv2/lib/pkp/classes/install/Installer.inc.php(263): Installer->executeAction(Array) #4 /home2/pnuresea/public_html/ojsv2/lib/pkp/classes/install/Installer.inc.php(186): Installer->executeInstaller() #5 /home2/pnuresea/public_html/ojsv2/lib/pkp/classes/install/form/UpgradeForm.inc.php(42): Installer->execute() #6 /home2/pnuresea/public_html/ojsv2/lib/pkp/pages/install/In in /home2/pnuresea/public_html/ojsv2/lib/pkp/classes/db/DAO.inc.php on line 703

What should I do?

Thank you for your help.

@_patrishamae please tell us what version of OJS you are upgrading from and what version of OJS you are upgrading to when you receive this error.

Hi @NateWr, I’m upgrading from OJS 2.4.8.5 to OJS 3.2.1.

@_patrishamae I’ve had a look at the schema for 3.2.1 and that table column should exist. I’m afraid I don’t have any more ideas how to help you.