Ini_set(): Cannot set 'user' save handler by ini_set()

OJS 3.0.2

We are moving our OJS to a new server (siteground). We moved across all of the files and the database records. The database is accessed ok. Now i get the single error log message

PHP Recoverable fatal error: ini_set(): Cannot set ‘user’ save handler by ini_set() or session_module_name() in /home/customer/www/alm-online.net/public_html/journal/lib/pkp/classes/session/SessionManager.inc.php on line 36

siteground uses MySQL v 5.7 and PHP 7.3. the Apache web server runs PHP as a CGI module in SuEXEC - PHP runs as a CLI binary

in config.inc.php i’ve set the driver to mysqli

I’ve looked for similar reports in the documentation and the community forum. These suggest that the problem is to do with directory/file permissions.

I’m assuming that SuEXEC means that the code is executed as my account (i.e. like CGI), and so permissions need to be writable by the owner of the folder or file. Folders i’ve looked at have permission 755, and non executable files 655.

i’m reading the php documentation to try to understand what a save.handler set to ‘user’ means - i notice it says that usually this is set to ‘files’ ?

any help would be really welcome. many thanks in advance. ruth

Hi @ruth,

See https://forum.pkp.sfu.ca/t/ojs-3-1-blank-screen-after-installation/36243/3; this has been fixed in more recent releases.

Regards,
Alec Smecher
Public Knowledge Project Team

hi alec

thank you so much for your swift reply, this has certainly moved me on (now getting db errors which i can hopefully solve)

(i must confess to seeing this fix earlier and not having the confidence to try it!!)
all the best
ruth

1 Like

Hi @ruth,

Happy to dispel doubts if you have them!

Regards,
Alec Smecher
Public Knowledge Project Team