move_uploaded_file open_basedir check warning

From: Date: Mon, 26 Oct 2009 01:25:05 +0000
Subject: move_uploaded_file open_basedir check warning
Groups: php.internals 
Request: Send a blank email to internals+get-45878@lists.php.net to get a copy of this message
Hi, I have a virtual host setup as follows: <VirtualHost *:80>
        ServerName www.domain.com
        ServerAlias *.domain.com
        DocumentRoot /home/domain.com
        php_admin_value upload_tmp_dir "/tmp/php_upload"
        php_admin_value open_basedir /home/domain.com/:/usr/local/lib/php
</VirtualHost> /tmp/php_upload and /home/domain.com and on a different file system. When performing a file upload the upload is successfully however the following warning is displayed: Warning: move_uploaded_file() [function.move-uploaded-file]: open_basedir restriction in effect. File(/tmp/php_upload/phpsrRDr6) is not within the allowed path(s): (/home/domain.com/:/usr/local/lib/php) in /home/domain.com/upload_do.php on line 15 The setup runs PHP 5.2.10. As the documentation defines the source path does not need be in open_base_dir. The functionality is completing so it appears to being abiding by this but the warning message is being displayed. I believe the issue may reside in the function php_copy_file_ex. php_copy_file_ex calls the function php_plain_files_stream_opener in main/streams/plain_wrapper.c. php_plain_files_stream_opener calls the open base check on the source path. It appears for some reason STREAM_DISABLE_OPEN_BASEDIR may be being ignored? Can someone shed some light on this. Thanks

« previous php.internals (#45878) next »