Symptoms
-
A website is not accessible with one of the following errors in a web browser:
404 file not found
500 external Server Error
Error 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.
Cause
The 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.
Resolution
-
Go to Domains > example.com > PHP Settings.
-
Add the path from the error message to the
open_basedir
field:-
on Linux
Below is an example for the directory /path/to/the/directory:
{WEBSPACEROOT}{/}{:}{TMP}{/}{:}/path/to/the/directory
-
on Windows
Below is an example for the directory
E:pathtothedirectory
:{WEBSPACEROOT}{/};{TMP};{/};"E:pathtothedirectory"
-
-
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:WindowsTemp