Question: A website hosted in Plesk is not accessible: open_basedir restriction in effect
Applicable to:- Plesk for Linux
- Plesk for Windows
Symptoms
- A website is not accessible with one of the following errors in a web browser:
404 file not found
500 Internal Server ErrorError 500 move_uploaded_file(): open_basedir restriction in effect. File(/path/to/the/directory) is not within the allowed path(s): (/var/www/vhosts/example.com/:/tmp/)No input file specified.- The following error message appears in the domain's Logs page (Domains > example.com > Logs):
<...> open_basedir restriction in effect. File(/path/to/the/directory) is not within the allowed path(s) <...>Uncaught Exception: Session: Configured save path '/path/to/the/directory' is not a directory, doesn't exist or cannot be created.CauseThe PHP script is trying to access the folder for which access is not allowed. This restriction is defined by the PHP open_basedir variable for each domain separately. By default, open_basedir allows access to the tmp and domain's document root directories, as well as the system's default sessions path.
Resolution1.Log in to Plesk.
2.Go to Domains > example.com > PHP Settings.
3.Add the path from the error message to the open_basedir field:
on LinuxBelow is an example for the directory /path/to/the/directory:
{WEBSPACEROOT}{/}{:}{TMP}{/}{:}/path/to/the/directoryon WindowsBelow is an example for the directory E:\path\to\the\directory\:
{WEBSPACEROOT}{/};{TMP};{/};"E:\path\to\the\directory\"
4.Apply the changes.
Note: The default session.save_path for Linux is (RedHat-based) /var/lib/php/session/ or (Debian-based)
/var/lib/php/sessions/, and for Windows is
C:\Windows\Temp