HTTP ERROR 500 after upgrading to OJS 3.1.2

#1

I have upgraded my OJS from 3.1.1.0 to OJS 3.1.2 recently.
I have upgraded the PHP version to 7.3 and changed the database driver from “mysql” to “mysqli” in config.inc.php
My website have 11 list of journals. Only one journal [Journal of Advance Research in Food, Agriculture and Environmental Science (ISSN: 2208-2417)] have the issue of HTTP ERROR 500 on submission page while logging in as SITE MANAGER.
The error was showing only on the submission page of only one journal, whereas I am able to open other pages of Journal of Advance Research in Food, Agriculture and Environment Science, like -> https://jiaats.com/ojs31/index.php/faes/manageIssues#futureIssues
-> https://jiaats.com/ojs31/index.php/faes/management/settings/context
-> https://jiaats.com/ojs31/index.php/faes/stats/publishedSubmissions

I am only not able to open the submissions page where I have to view articles in all stages like submission, active or production etc. And I am able to see the article workflow if I enter the URL of article with stage ID as: https://jiaats.com/ojs31/index.php/faes/workflow/index/987/1

And all other journals are working fine.

Error page is as following:

In error log I receive only following:

Stack trace: #0 /home/naeemijr/public_html/jiaats.com/ojs31/lib/pkp/classes/submission/reviewAssignment/ReviewAssignmentDAO.inc.php(69): ReviewAssignmentDAO->_fromRow(Array) #1 /home/naeemijr/public_html/jiaats.com/ojs31/lib/pkp/classes/submission/reviewAssignment/ReviewAssignmentDAO.inc.php(217): ReviewAssignmentDAO->_getReviewAssignmentsArray(‘SELECT r., r2…’, Array) #2 /home/naeemijr/public_html/jiaats.com/ojs31/lib/pkp/classes/services/PKPSubmissionService.inc.php(308): ReviewAssignmentDAO->getBySubmissionId(‘644’) #3 /home/naeemijr/public_html/jiaats.com/ojs31/lib/pkp/classes/services/PKPSubmissionService.inc.php(341): PKP\Services\PKPSubmissionService->getReviewAssignments(Object(Article)) #4 /home/naeemijr/public_html/jiaats.com/ojs31/lib/pkp/classes/services/PKPSubmissionService.inc.php(601): PKP\Services\PKPSubmi in /home/naeemijr/public_html/jiaats.com/ojs31/lib/pkp/classes/submission/reviewAssignment/ReviewAssignmentDAO.inc.php on line 480 [07-Mar-2019 08:06:15 UTC] PHP Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; ADODB_Cache_File has a deprecated constructor in /home/naeemijr/public_html/jiaats.com/ojs31/lib/pkp/lib/adodb/adodb.inc.php on line 263 [07-Mar-2019 08:06:15 UTC] PHP Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; ADOConnection has a deprecated constructor in /home/naeemijr/public_html/jiaats.com/ojs31/lib/pkp/lib/adodb/adodb.inc.php on line 359 [07-Mar-2019 08:06:15 UTC] PHP Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; ADORecordSet has a deprecated constructor in /home/naeemijr/public_html/jiaats.com/ojs31/lib/pkp/lib/adodb/adodb.inc.php on line 2921 [07-Mar-2019 08:06:15 UTC] PHP Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; ADORecordSet_array has a deprecated constructor in /home/naeemijr/public_html/jiaats.com/ojs31/lib/pkp/lib/adodb/adodb.inc.php on line 3939 [07-Mar-2019 08:06:15 UTC] PHP Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/naeemijr/public_html/jiaats.com/ojs31/lib/pkp/lib/adodb/adodb.inc.php on line 1003 [07-Mar-2019 08:06:16 UTC] PHP Fatal error: Uncaught Error: Call to a member function getFullName() on null in /home/naeemijr/public_html/jiaats.com/ojs31/lib/pkp/classes/submission/reviewAssignment/ReviewAssignmentDAO.inc.php:480 Stack trace: #0 /home/naeemijr/public_html/jiaats.com/ojs31/lib/pkp/classes/submission/reviewAssignment/ReviewAssignmentDAO.inc.php(69): ReviewAssignmentDAO->_fromRow(Array) #1 /home/naeemijr/public_html/jiaats.com/ojs31/lib/pkp/classes/submission/reviewAssignment/ReviewAssignmentDAO.inc.php(217): ReviewAssignmentDAO->_getReviewAssignmentsArray('SELECT r., r2…’, Array) #2 /home/naeemijr/public_html/jiaats.com/ojs31/lib/pkp/classes/services/PKPSubmissionService.inc.php(308): ReviewAssignmentDAO->getBySubmissionId(‘644’) #3 /home/naeemijr/public_html/jiaats.com/ojs31/lib/pkp/classes/services/PKPSubmissionService.inc.php(341): PKP\Services\PKPSubmissionService->getReviewAssignments(Object(Article)) #4 /home/naeemijr/public_html/jiaats.com/ojs31/lib/pkp/classes/services/PKPSubmissionService.inc.php(601): PKP\Services\PKPSubmi in /home/naeemijr/public_html/jiaats.com/ojs31/lib/pkp/classes/submission/reviewAssignment/ReviewAssignmentDAO.inc.php on line 480

#2

I have a similar problem after the update to 3.1.2.
In addition, registration of new user gives the Error 500.

Try to register here to reproduce the error: http://swebic.org/ojs/index.php/bjbms/user/register

My hosting company says the error log shows nothing.
My PHP is 7.1, but the same error occurs with 7.3.

#3

Hi
I have a similar problem after the update to 3.1.2.
I tried PHP 7.00 and above, yet faced with the same problem.

#4

This is what I got from my hosting support:

[07-Mar-2019 11:24:17 Europe/Amsterdam] PHP Deprecated: Non-static method PKPRequest::_checkThis() should not be called statically in xxxxxi/public_html/ojs/lib/pkp/classes/core/PKPRequest.inc.php on line 594
[07-Mar-2019 11:24:17 Europe/Amsterdam] PHP Fatal error: Uncaught Error: Call to a member function setOrcid() on null in xxxxxx/public_html/ojs/plugins/generic/orcidProfile/OrcidProfilePlugin.inc.php:388
Stack trace:
#0 xxxxxx/public_html/ojs/lib/pkp/classes/plugins/HookRegistry.inc.php(107): OrcidProfilePlugin->collectUserOrcidId(‘registrationfor…’, Array)
#1 xxxxxxx/public_html/ojs/lib/pkp/classes/form/Form.inc.php(314): HookRegistry::call(‘registrationfor…’, Array)
#2 xxxxxxxx public_html/ojs/lib/pkp/classes/user/form/RegistrationForm.inc.php(254): Form->execute()
#3 xxxxxxxxx/public_html/ojs/lib/pkp/pages/user/RegistrationHandler.inc.php(67): RegistrationForm->execute()
#4 xxxxxxxxx/public_html/ojs/lib/pkp/classes/core/PKPRouter.inc.php(390): RegistrationHandler->register(Array, Object(Request))
#5 xxxxxxxx/public_html/ojs/lib/pkp/classes/core/PKPPageRouter.inc.php(231): PKPRouter->_authorizeInitializeAndCallRequest(Array, Object(Request), Array, false)
#6 xxxxxxxxpublic_html/ojs/lib/pkp/classes/core/Dispa in xxxxxxxxxpublic_html/ojs/plugins/generic/orcidProfile/OrcidProfilePlugin.inc.php on line 388

I turned off the ORCID plugin, and registration is now working.
I will let you know if I encounter more errors.

#5

Try to fix it by turning off the ORCID plugin.

#6

I tried. Unfortunately. I have not solved yet.

#7

What theme are you using? I am using the default theme.

#8

I faced with the following error:

[Thu Mar 07 14:43:17.073656 2019] [php7:error] [pid 11568:tid 1888] [client ::1:55023] PHP Fatal error: Uncaught Error: Call to undefined function mysql_connect() in C:\Users\Lenovo.Tm\Documents\UniServerZ\www\jppw\lib\pkp\lib\adodb\drivers\adodb-mysql.inc.php:456\nStack trace:\n#0 C:\Users\Lenovo.Tm\Documents\UniServerZ\www\jppw\lib\pkp\lib\adodb\adodb.inc.php(558): ADODB_mysql->_connect(‘localhost’, ‘journalp_jppw’, ‘g\xC3\xB6kmen4566’, ‘journalp_jppw’)\n#1 C:\Users\Lenovo.Tm\Documents\UniServerZ\www\jppw\lib\pkp\classes\db\DBConnection.inc.php(151): ADOConnection->Connect(‘localhost’, ‘journalp_jppw’, ‘g\xC3\xB6kmen4566’, ‘journalp_jppw’, false)\n#2 C:\Users\Lenovo.Tm\Documents\UniServerZ\www\jppw\lib\pkp\classes\db\DBConnection.inc.php(126): DBConnection->connect()\n#3 C:\Users\Lenovo.Tm\Documents\UniServerZ\www\jppw\lib\pkp\classes\db\DBConnection.inc.php(83): DBConnection->initConn()\n#4 C:\Users\Lenovo.Tm\Documents\UniServerZ\www\jppw\

#9

Also, I experienced with this when installing.

#10

I solved the problem changing the driver as driver = mysqli.
However, after upgrading the OJS, the journal seeems as:

[Thu Mar 07 16:18:00.535699 2019] [php7:warn] [pid 15308:tid 1884] [client ::1:60537] PHP Warning: Declaration of DRIVERDAO::setOAI(&$oai) should be compatible with PKPOAIDAO::setOAI($oai) in C:\Users\Lenovo.Tm\Documents\UniServerZ\www\jppw\plugins\generic\driver\DRIVERDAO.inc.php on line 65, referer: http://localhost/
[Thu Mar 07 16:18:00.551625 2019] [php7:warn] [pid 15308:tid 1884] [client ::1:60537] PHP Warning: Declaration of CustomBlockPlugin::getBlockContext() should be compatible with BlockPlugin::getBlockContext($contextId = NULL) in C:\Users\Lenovo.Tm\Documents\UniServerZ\www\jppw\plugins\generic\customBlockManager\CustomBlockPlugin.inc.php on line 134, referer: http://localhost/
[Thu Mar 07 16:18:00.814724 2019] [php7:notice] [pid 15308:tid 1884] [client ::1:60537] PHP Notice: Only variables should be assigned by reference in C:\Users\Lenovo.Tm\Documents\UniServerZ\www\jppw\pages\index\IndexHandler.inc.php on line 68, referer: http://localhost/

#11

My test upgrade from 3.1.1-4 to 3.1.2 looks fine (https://www.ecocycles.eu/ojs-3.1.2/index.php/ecocycles).
Unfortunately, the “archives” link leads to HTTP ERROR 500.
Suggestions?

#12

Hi,

I tested, there is no any problem. Please clear the data.

Bests

#13

Thanks for your comment. In the meantime I managed to fix it: the Bootstrap3 theme (that I like a lot) was the problem…

#14

Hi Gokmen;
Thank you for the info about changing the driver as driver = mysqli
I have searched for days why I cannot upgrade my OJS version and when I did what you said, it is done :clap::clap::pray:. Thank you very very much.

But, I do not know much about these things. What we have done by changing driver. What does it mean. Could you or anyone tell me what we did and why did it work)

#15

The mysqli is more appropriate for the new version of the PHP (7 and above), see http://php.net/manual/en/mysqlinfo.api.choosing.php

I have not solved the problem. Does your OJS work well?

#16

Dear Gokmen,
Our journal seems to work fine after the driver change. I could not upgrade our journal because I cannot perform the database upgrade through web. I get the website could not find error. with your suggestion after I changed the driver in Config file, everything went well. Thanks again.

My only problem about the system is being not able to send mails through smtp. But, it was a problem before the upgrade.

Just 24 hours passed from the upgrade. If any problem encountered, I will let you know.

By the way, we are not using OJS to create our journal web site. Our website is totally a different system. We are just using OJS for editorial process management. Therefore, I cannot see any errors regarding the website presentation of OJS.
Regards.

#17

Same error here, switching back to default theme solved the problem.

#18

Hello all, Hello @asmecher,

Since we upgraded to to OJS 3.1.2, I think we have the same problem.
I have also upgraded the PHP version to 7 and changed the database driver from “mysql” to “mysqli” in config.inc.php
When we use the default theme and the ORCID Profile Plugin is activated, the registrations of users don’t work with an error page.

I have these errors in log file:
PHP Warning: Declaration of RegistrationHandler::validate($request) should be compatible with PKPHandler::validate($requiredContexts = NULL, $request = NULL) in /var/www/ojs3/lib/pkp/pages/user/RegistrationHandler.inc.php on line 19, referer: http://revues.u-bordeaux.fr/ojs3/index.php/jtestub/user/register
PHP Warning: Declaration of RegistrationForm::validate() should be compatible with Form::validate($callHooks = true) in /var/www/ojs3/lib/pkp/classes/user/form/RegistrationForm.inc.php on line 21, referer: http://revues.u-bordeaux.fr/ojs3/index.php/jtestub/user/register
PHP Fatal error: Uncaught Error: Call to a member function setOrcid() on null in /var/www/ojs3/plugins/generic/orcidProfile/OrcidProfilePlugin.inc.php:388\nStack trace:\n#0 /var/www/ojs3/lib/pkp/classes/plugins/HookRegistry.inc.php(107): OrcidProfilePlugin->collectUserOrcidId(‘registrationfor…’, Array)\n#1 /var/www/ojs3/lib/pkp/classes/form/Form.inc.php(314): HookRegistry::call(‘registrationfor…’, Array)\n#2 /var/www/ojs3/lib/pkp/classes/user/form/RegistrationForm.inc.php(254): Form->execute()\n#3 /var/www/ojs3/lib/pkp/pages/user/RegistrationHandler.inc.php(67): RegistrationForm->execute()\n#4 /var/www/ojs3/lib/pkp/classes/core/PKPRouter.inc.php(390): RegistrationHandler->register(Array, Object(Request))\n#5 /var/www/ojs3/lib/pkp/classes/core/PKPPageRouter.inc.php(231): PKPRouter->_authorizeInitializeAndCallRequest(Array, Object(Request), Array, false)\n#6 /var/www/ojs3/lib/pkp/classes/core/Dispatcher.inc.php(134): PKPPageRouter->route(Object(Request))\n#7 /var/www/ojs3/lib/pkp/classes/core/PKPApplication.inc.php(252): Dispatcher- in /var/www/ojs3/plugins/generic/orcidProfile/OrcidProfilePlugin.inc.php on line 388, referer: http://revues.u-bordeaux.fr/ojs3/index.php/jtestub/user/register

When I turned off the ORCID plugin, registration is working again. But journals want the ORCID plugin back.

Is it a bug in ORCID plugin or something else?
Is there a solution to fix it ?

Thanks in advance for your answers.
Best regards.
Helene

#19

Hi @hcl,

I suspect you’re using an old/incompatible version of the orcid plugin. Try upgrading it.

Regards,
Alec Smecher
Public Knowledge Project Team

#20

Hi @asmecher,
Upgrading the orcid plugin from the plugin gallery solved the problem.
I thought when upgrading to OJS 3.1.2, it would upgrade all the plugins.
Thanks a lot.
Kind regards
Helene