OJS 3.1.0 failed installation

Hi!

I am following the git installation instructions and has been successful but only until I press the Install button in the browser where I’m getting a HTTP 500 error due to PHP (5.6.32) pathing apparently caused by these lines in functions.inc.php


if (!function_exists(‘import’)) {
function import($class) {
$filePath = str_replace(’.’, ‘/’, $class) . ‘.inc.php’;
require_once(BASE_SYS_DIR.’/’.$filePath);
}
}


Apparently the argument “BASE_SYS_DIR.’/’.$filePath” as input to require_once() returns “C:\xampp\htdocs\Projects\AghamX\ojs/lib/pkp/plugins/…” (screenshot shown below)

Notice the backslashes and the slashes.

image

How can I resolve this? Thank you in advance.

this path has both / and \ in it which is obviously wrong:
“C:\xampp\htdocs\Projects\AghamX\ojs/lib/pkp/plugins/…”

if you are installing in windows you should change them all to \ .

@alirezaa Yes, however, I will have to directly edit functions.inc.php file, don’t I? I was trying to avoid that. I’m not certain how this happened though since I’m supposedly using a compatible PHP version. Any other workaround?

I’ve never used a git installation, but you usually don’t need to edit any OJS files for installing in windows; except in config.inc.php file, where you should declare path for public and files folders.

After a few searches, I figured PHP allows still recognizes paths even if slashes and backslashes are mixed with each other. And so I found out that the directory nlm30 really is missing. I realize that the steps including “npm install” and “npm run build” failed as shown in the screenshot.

image

I have no idea how to resolve this especially when it states that the problem is most likely with the OJS3 package and that I can’t find a similar topic in the forum. Has anyone encountered this too?

Hi @Jan_Samuel_Matuba,

I suspect your Node install is too old for OJS’s build process. But are you using a Git checkout, or a .tar.gz-based install? The .tar.gz package already contains the built Javascript dependencies, so you shouldn’t need to run the Node build process.

Regards,
Alec Smecher
Public Knowledge Project Team

Hi @asmecher,

You were right, I figured I was using an outdated Node install. I updated Node and now npm install and npm run build are successful.
image

However, the same error occurs during installation as I get HTTP 500 error. Here is the Apache error log:

image

The nlm30 dependency is not present. I have followed the git process and all steps were successful as far as I know. What do you think might be causing this?

Yours,
Sam

Hi @Jan_Samuel_Matuba,

Are you using a Git checkout, or a .tar.gz-based install?

Regards,
Alec Smecher
Public Knowledge Project Team

@asmecher

I used Git checkout by following the instructions here:

and

Hi @Jan_Samuel_Matuba,

I suspect your application check-out and your pkp-lib checkout (in the lib/pkp directory) are out of alignment. Make sure that both are on the same branch and both are up to date. The current master branch does not have any references to PKPNlm30MetadataPlugin, which was recently removed.

Regards,
Alec Smecher
Public Knowledge Project Team

Hi @asmecher

You were right!! After entering “git checkout ojs-stable-3_1_0” in the command line, the web installation is now proceeding perfectly. Many thanks!!!

Regards,
Sam