This issue has been completely fixed since Plesk 10.4. In case if you upgrade to 11.x or 12 versions, please ignore this warning. It occurs in case if permissions on the
'/var/lib/php/session/' directory are set incorrectly Upgrade in fact fixes the permissions
In CGI or FastCGI mode, PHP runs with the permissions of the domain's FTP user.
PHP support mode can be configured for each domain on the
Web Hosting Settings page found at
Plesk > Domains > domain.tld > Web Hosting Settings:
Also following PHP warnings can appear:
**Warning**: session_start() [function.session-start]: open(/var/lib/php/session/sess_vr12g68afa365jenb96han4k24, O_RDWR) failed: Permission denied (13) in **/var/www/vhosts/domain.tld/httpdocs/script.php** on line ******Warning**: Unknown: open(/var/lib/php/session/sess_vr12g68afa365jenb96han4k24, O_RDWR) failed: Permission denied (13) in **Unknown** on line **Warning**: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/var/lib/php/session) in **Unknown** on line
In Plesk versions prior to 10.4, PHP configuration is set in the
/etc/php.ini file and by default has a session path set as following:
# grep session.save_path /etc/php.ini session.save_path = "/var/lib/php/session"
The default permissions value for this directory is 770:
# ls -ld /var/lib/php/session drwxrwx--- 2 root apache 65536 Dec 16 07:48 /var/lib/php/session
As the PHP scripts are processed in CGI/FastCGI mode under the <ftpuser>:psacln account, the process cannot read/write that directory and it will pick up the session file.
Upgrade Plesk to the latest version.
If upgrade is not possible, follow the instructions below:
Set up Customized PHP Configuration for the domain.
Create a subdirectory under the domain's private directory and set permissions as shown below:
# mkdir /var/www/vhosts/domain.tld/private/php_sess # chown <ftpuser>:psacln /var/www/vhosts/domain.tld/private/php_sess # chmod 0700 /var/www/vhosts/domain.tld/private/php_sess
Edit the customized PHP configuration file
php.iniand overwrite the
session.save_pathdirective as shown below:
# grep session.save_path /var/www/vhosts/domain.tld/etc/php.ini session.save_path = "/var/www/vhosts/domain.tld/private/php_sess"