Error from Crossref Export/ Registration plugin in OJS 2.4.8.1

Hello, we are receiving this error when we try to export Crossref data

Fatal error: Using $this when not in object context in /var/www/vhosts/wmpllc.org/httpdocs/ojs-2.4.2/plugins/importexport/crossref/CrossRefExportPlugin.inc.php on line 220

There was a bug fix for earlier versions of php, but we are running 5.3.3 which seemed to not have the issue.

We have never run this before. Always did manual crossref uploads external to OJS.

We are running OJS 2.4.8.1

Any thoughts please?

Thanks!

This seems to be linked to this issue but I cannot figure out where the patch is.

https://github.com/pkp/pkp-lib/issues/1749

OK. So being a hardware guy, it seems that this is the fix pkp/pkp-lib#1749 remove php 5.3 code by bozana · Pull Request #995 · pkp/ojs · GitHub and that all I need to do is remove the red and replace with the green? Thanks.

Signed Mr. 80286

:slight_smile:

Darn…bet nobody knows what an 80286 is!

Hello,
Php 5.3 is obsolete and quite unsafe. please upgrade to php 5.6.X.
Yes, remove red and add green lines. But, that is for removing php 5.3 code. I am not sure that this will solve your issue.

Please report about results.

Thanks. The VPS hosting we are on is fixed at 5.3.3 so moving is not an option.

Follow question, will OJS 2.4.8.1 run on PHP 7.x?

Thanks!

Hi @radjr

Hmmm… That error comes if a non-static method is called statically from an incompatible context, which I do not see here… Hmmm… Strange… Did the patch/fix help? – Maybe there is a conflict with the use of $this in such an anonymous function with your PHP version…

Have you maybe made any other changes in your code?

Hmmm…
Bozana