PHP
open_basedir restriction in effect
Szenario
VServer:
CentOS Linux 7.3.1611 (Core)
Plesk Onyx Version 17.5.3 Update #24
Fuel CMS Version 1.4
PHP 5.6.31, MariaDB 5.5.56-MariaDB
Fehlermeldung
A PHP Error was encountered
Severity: Warning
Message: is_dir(): open_basedir restriction in effect. File(/var/lib/php/session) is not within the allowed path(s): (/var/www/vhosts/DOMAIN.de/:/tmp/)
Filename: drivers/Session_files_driver.php
Line Number: 134
Backtrace:
File: /var/www/vhosts/DOMAIN.de/httpdocs/cms/fuel/modules/fuel/core/Loader.php
Line: 791
Function: __construct
File: /var/www/vhosts/DOMAIN.de/httpdocs/cms/fuel/modules/fuel/core/Loader.php
Line: 684
Function: _ci_init_library
File: /var/www/vhosts/DOMAIN.de/httpdocs/cms/fuel/modules/fuel/core/Loader.php
Line: 538
Function: _ci_load_stock_library
...das geht hier noch weiter....
Ursache
In Plesk kann man die PHP Einstellungen für die Domains verwalten. Hier ist standardmäßig eine sehr restriktive Einstellung getroffen, dass PHP Skripte ihr root Verzeichnis der Website nicht verlassen dürfen.
Lösung
Das kann man seinen Bedürfnissen anpassen indem man bei der Option für open_basedir den Pfad für die Option session.save_path hinzufügt.
Der Standardeintrag ist: {WEBSPACEROOT}{/}{:}{TMP}{/}
Diesen erweitert man um den Wert der Option session.save_path (Standardwert ist /var/lib/php/session): {:}/var/lib/php/session