Upgrade OJS 2.4.6 to OJS 3.x error

官方论坛有用户安装报错如下:

My system has OJS 2.4.6 running on

PHP 5.3.2-1
MySQL 5.7.21
Apache 2.4.18

I’m trying to update it to OJS 3 but all the tests I do are wrong.

    • I have tried to update it to version 3.0.1 and 3.0.2 in two different tests and after running
      php tools / upgrade.php upgrade” everything ends correctly.
      But the system does not work after the two update tests in the browser returns the error in trying to open the initial screen
Fatal error: Call to a member function getUserVar () on a non-object in /home/sp-dgroup/a3/www.um.es/testmigra/ojs_v3.0.2/classes/i18n/AppLocale.inc.php on line 75
  • I have also tried updating from OJS 2.4.6 to 3.1.0 and 3.1.0-1 in two different executions starting from the initial one, on the system

PHP 7.0
MySQL 5.7.21
Apache 2.4.18

but after the execution of “php tools / upgrade.php upgrade” it always returns the error

PHP Fatal error: Uncaught Error: Call to a member function getId() on null in /ojs_v3.1.0_1/classes/install/Upgrade.inc.php:1103
Stack trace:
#0 /ojs_v3.1.0_1/lib/pkp/classes/install/Installer.inc.php(415): Upgrade->convertSupplementaryFiles(Object(Upgrade), Array)
#1 /ojs_v3.1.0_1/lib/pkp/classes/install/Installer.inc.php(265): Installer->executeAction(Array)
#2 /ojs_v3.1.0_1/lib/pkp/classes/install/Installer.inc.php(186): Installer->executeInstaller()
#3 /ojs_v3.1.0_1/lib/pkp/classes/cliTool/UpgradeTool.inc.php(88): Installer->execute()
#4 /ojs_v3.1.0_1/lib/pkp/classes/cliTool/UpgradeTool.inc.php(64): UpgradeTool->upgrade()
#5 /ojs_v3.1.0_1/tools/upgrade.php(34): UpgradeTool->execute()
#6 {main}
thrown in /ojs_v3.1.0_1/classes/install/Upgrade.inc.php on line 1103

分析:从报错信息来看,无法辨识错误具体原因,由于OJS含有众多插件,而且是第三方的为多,OJS 开发者忙于主干开发,插件跟进比较吃力,升级报错一般来源于插件,或者一些次要的功能模组。