• Hi, Pleskians! We are running a UX testing of our upcoming product intended for server management and monitoring.
    We would like to invite you to have a call with us and have some fun checking our prototype. The agenda is pretty simple - we bring new design and some scenarios that you need to walk through and succeed. We will be watching and taking insights for further development of the design.
    If you would like to participate, please use this link to book a meeting. We will sent the link to the clickable prototype at the meeting.
  • (Plesk for Windows):
    MySQL Connector/ODBC 3.51, 5.1, and 5.3 are no longer shipped with Plesk because they have reached end of life. MariaDB Connector/ODBC 64-bit 3.2.4 is now used instead.
  • The Horde webmail has been deprecated. Its complete removal is scheduled for April 2025. For details and recommended actions, see the Feature and Deprecation Plan.

Issue PHP Warning: Unknown: open_basedir restriction in effect

LionKing

Regular Pleskian
Server operating system version
Ubuntu Linux
Plesk version and microupdate number
Plesk Obsidian Web Host Edition Version 18.0.54 Update #3
Hi.
We configured that the php_errors.log file in php that should be logged in the "logs" folder. This among things for security reasons as it then reside above the www root.

But PHP doesn't seem happy with our choice quote:
AH01071: Got error 'PHP message: PHP Warning: Unknown: open_basedir restriction in effect. File(/logs/php_errors.log) is not within the allowed path(s): (/var/www/vhosts/crm.xyz-example.com/:/tmp/) in Unknown on line 0', referer:
So how do we configure PHP and Plesk to be "happy" with that we have the php error log in that directory of the domain root?

FYI: We did test this suggested solution from the online documentation: https://support.plesk.com/hc/en-us/...accessible-open-basedir-restriction-in-effect but that generates syntax errors.

Adding directly in php settings and the php.ini / user.ini files
; Open dir
open_basedir = "/logs"
Does make the change but then it complains over that files in the www public folder is not allowed like example "index.php"


Thanks in advance.
 
You seem to use an absolute path /logs, which starts at the disk root. For that reason it is considered to be outside your webspace.

Instead you can use the full path, e.g.
PHP:
ini_set("error_log", "/var/www/vhosts/crm.xyz-example.com/logs/php-error.log");
 
If you mean the "Additional directives" on the PHP settings page, then you cannot add PHP code there, but need to enter it like
Code:
error_log = /var/www/vhosts/crm.xyz-example.com/logs/php-error.log

The previously shown line
PHP:
ini_set("error_log", "/var/www/vhosts/crm.xyz-example.com/logs/php-error.log");
is the way to set the variable in a PHP script.
 
No, this is what you'd use in a PHP script. The ini-fomat is
Code:
error_log = /var/www/vhosts/crm.xyz-example.com/logs/php-error.log
 
Back
Top