Issues upon upgrading ojs from 2.4.8.1 to 3.2.1.4

Hello,

I am running into some issues upon upgrading ojs from 2.4.8.1 to 3.2.1.4. First off, I tried to upgrade to 3.3, but due to even bigger problems, I decided to choose ver. 3.2 for now.

I managed to upgrade to 3.2.1.4 after applying this solution related to reviewers, which was my case:

Upon upgrading I was checking some basics, e.g., I am able to log in to the dashboard, see journals and submissions there (but not opening files; see below). But I come across the following glitches:

1. When browsing public page of a journal (like: http://ojs/index.php/journal/ I get the following error:

There are no readable files in this directory tree. Are safe mode or open_basedir active?

Related error log includes (I am changing some of the server folder names here):

  • PHP Warning: realpath(): open_basedir restriction in effect. File(/ojs_files) is not within the allowed path(s): (/ojs_path/:/ojs_path/:/usr/lib/php:/var/lib/php/home_folder) in /ojs_path/plugins/generic/usageStats/UsageStatsPlugin.inc.php on line 409
  • PHP Warning: file_exists(): open_basedir restriction in effect. File(/usageStats/usageEventLogs) is not within the allowed path(s): (/ojs_path/:/ojs_path/:/usr/lib/php:/var/lib/php/home_folder) in /ojs_path/lib/pkp/classes/file/FileManager.inc.php on line 380
  • PHP Warning: file_exists(): open_basedir restriction in effect. File(/usageStats) is not within the allowed path(s): (/ojs_path/:/ojs_path/:/usr/lib/php:/var/lib/php/home_folder) in /ojs_path/lib/pkp/classes/file/FileManager.inc.php on line 356
  • PHP Warning: file_exists(): open_basedir restriction in effect. File(/) is not within the allowed path(s): (/ojs_path/:/ojs_path/:/usr/lib/php:/var/lib/php/home_folder) in /ojs_path/lib/pkp/classes/file/FileManager.inc.php on line 356
  • ojs2: There are no readable files in this directory tree. Are safe mode or open_basedir active?

2. I am not able to open files from within a dashboard; clicking on a file link (in Workflow tab or Publication tab) returns error 500.

Associated errors from the log include (I am changing some of the server folder names here):

  • PHP Notice: Trying to access array offset on value of type null in /ojs_path/lib/pkp/lib/vendor/wikimedia/less.php/lib/Less/Parser.php on line 1927
  • PHP Notice: Trying to access array offset on value of type null in /ojs_path/lib/pkp/lib/vendor/wikimedia/less.php/lib/Less/Parser.php on line 1927
  • PHP Warning: in_array() expects parameter 2 to be array, null given in /ojs_path/lib/pkp/pages/workflow/PKPWorkflowHandler.inc.php on line 373
  • PHP Warning: is_readable(): open_basedir restriction in effect. File(/ojs_files/journals/1//articles/2689/submission/2689-1-17148-1-2-20211107.docx) is not within the allowed path(s): (/ojs_path/:/ojs_path/:/usr/lib/php:/var/lib/php/home_folder) in /ojs_path/lib/pkp/classes/file/FileManager.inc.php on line 259
  • FileApiHandler: File /ojs_files/journals/1//articles/2689/submission/2689-1-17148-1-2-20211107.docx does not exist or is not readable!
  • ojs2: 500 Internal Server Error

Note double // in the file path above. So I guess the path must be generated incorrectly.

I would appreciate any hints or advise on how to fix these issues.

Hi Piotreba,

Occasionally, there are patches to apply between versions of OJS. You could give a try running an upgrade, against a clean restore, using the following versions:
2.4.8.5 > 3.1.2.1 > 3.2.1.4

The latest OJS 3.1 version applies some code fix and runs checkings against DB as well.
Please, let me know if it helps.

Best,
Israel

1 Like

Hi @israel.cefrin,

okay, so will try to upgrade through those intermediate versions. Will post here the results (which will likely take some time).

Thanks!

I was able to upgrade from ojs ver. 2.4.8.1 to ver. 3.2.1.4 through 2.4.8.5 and 3.1.2.1.

Thanks for suggestion.

1 Like