• If you are still using CentOS 7.9, it's time to convert to Alma 8 with the free centos2alma tool by Plesk or Plesk Migrator. Please let us know your experiences or concerns in this thread:
    CentOS2Alma discussion

Issue php move_uploaded_file failed to open stream: Permission denied

JollyCasfer

New Pleskian
Hi there. I'm new to plesk and I always receive this error "move_uploaded_file(G:/PleskVhosts/test/test.com/sample.JPG): failed to open stream: Permission denied in G:/PleskVhosts/test/test.com/sample.JPG on line 43" whenever I try to upload image using php. I tried to add the folder directory to open_basedir but it doesn't solve the problem. I tried to upload the file in C:\Windows\Temp folder and it worked but I saw some post that says it's bad practice and I can't retrieve the image using the <img src> tag. Am I missing anything like more configuration or something?
 
Make sure that:

1. Check that {TMP} directory is added to open_basedir on Home > Domains > example.com > PHP Settings page
open_basedir1.png
It is environment variable for C:\Windows\Temp\

If it is required to add some custom directory to open_basedir parameter it can be done as follows:
open_basedir.png

2. IWPG_user, where user is a system user of the subscription who has rights to "Read", "Write" and "Modify" the %windir%\Temp directory. On the screenshot below, the system user of the subscription example.com is an example and the corresponding application pool group is WPG_example:
sys_user.PNG

3. The destination folder from the error message exists in the %plesk_vhosts%\example.com\httpdocs\ directory and the system user from the previous step has similar access rights.

Note: If the destination file is located inside a directory, these permissions must be set to this directory as well (e.g. ./images/)

4. safe_mode and safe_mode_exec_dir parameters of the PHP handler are disabled.

It can be checked on the phpinfo() page of the domain: Plesk > Domains > example.com > PHP Settings > View the phpinfo() page.
If one of options is enabled, disable it by adding a corresponding value in the additional directive at Plesk > Domains > example.com > PHP Settings > Additional configuration directives, for example:

Code:
safe_mode_exec_dir = Off
 
Back
Top