Skip to main content
1 of 2

On Ubuntu or Debian machines, if session.save_path is not set, then session files are saved in /var/lib/php5 by default.

If you check the hhvm logs in /var/log/hhvm/error.log there is an error

\nFatal error: Failed to initialize storage module: user (path: /var/lib/php5) in /var/www/html/commerce-demo/includes/session.inc on line 287

Drupal/PHP fails to create a session in the drupal_session_start() function because the default location to store the session files /var/lib/php5 does not exist or is not known within our setup with hhvm.

In my Drupal settings.php file I added to the bottom

ini_set("session.save_path", "");

This resets the path to "" (an empty string), by default this evaluates to the temp folder of the system. This helped me: http://stackoverflow.com/questions/4927850/location-for-session-files-in-apache-php

To find the current session save path, you can use session_save_path() (Get and/or set the current session save path).

Why drupal failed to create only the sessions related to the checkout page is not clear to me, but now it works ;)