OJS Installation troubles

Hello PKP community,
I’m fighting with installation of OJS 3.3.0-8 on Apache 2.4.51 with php-fpm 8.0.12 and MariaDB 10.3.28

In fact. The installation was successfull
image
But when I click the login link I get this error:
Fatal error: Uncaught Error: Call to undefined function session_set_save_handler() in /srv/html/ojs-3.3.0-8/lib/pkp/classes/session/SessionManager.inc.php:47 Stack trace: #0 /srv/html/ojs-3.3.0-8/lib/pkp/classes/session/SessionManager.inc.php(129): SessionManager->__construct() #1 /srv/html/ojs-3.3.0-8/lib/pkp/classes/i18n/PKPLocale.inc.php(131): SessionManager::getManager() #2 /srv/html/ojs-3.3.0-8/lib/pkp/classes/i18n/PKPLocale.inc.php(290): PKPLocale::getLocale() #3 /srv/html/ojs-3.3.0-8/lib/pkp/classes/core/Dispatcher.inc.php(116): PKPLocale::initialize() #4 /srv/html/ojs-3.3.0-8/lib/pkp/classes/core/PKPApplication.inc.php(362): Dispatcher->dispatch() #5 /srv/html/ojs-3.3.0-8/index.php(68): PKPApplication->execute() #6 {main} thrown in /srv/html/ojs-3.3.0-8/lib/pkp/classes/session/SessionManager.inc.php on line 47

I’ve tried the installation several times with different locale and other settings, but honestly, I don’t know what could be the cause.

Thank you for any suggestions.

Hello

On my experience OJS current have trouble when using php 8. Many function that are used by OJS is not available on that php version.

It is safe to use php 7.3 on your OJS installation.

Hendra

Hi all,

I don’t think PHP8.x will be the problem – OJS 3.3.0-x runs fine with PHP8, as shown by our Continuous Integration tests:
image

@tuzvo, the session_set_save_handler function that seems to be missing is an integral part of PHP, so if it’s missing either something wrong with your server’s PHP installation. That function should definitely be present.

Regards,
Alec Smecher
Public Knowledge Project Team

1 Like

The issue I’ve described above was on Alpine Linux.
I don’t know whether there was some php component missing. I’ve installed apache2-proxy php8-fpm php8-mbstring php8-xml php8-intl php8-mysqli php8-pdo_mysql which couldn’t been enough.
I’ve reinstalled the server to AlmaLinux with Lighttpd and PHP 8.0 (lighttpd php lighttpd-fastcgi php-mysqlnd php-pdo php-intl php-mbstring php-xml php-fpm) and it’s working now.
Thank you @asmecher for pointing me in the right direction.

1 Like