• Plesk Uservoice will be deprecated by October. Moving forward, all product feature requests and improvement suggestions will be managed through our new platform Plesk Productboard.
    To continue sharing your ideas and feedback, please visit features.plesk.com

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