我在服务器上使用文件上传脚本时遇到了麻烦 - 得出的结论是,这是因为PHP正在Apache模块上运行,所以重新配置PHP以作为FastCGI运行。
不幸的是,现在当我尝试通过uploadify上传文件时,我收到了错误
警告:move_uploaded_file()[function.move-uploaded-file] open_base_dir限制生效。文件(/var/www/vhosts/domain.com/uploads/filename.txt)不在允许的路径中:(/ var / www / vhosts / domain.com / httpdocs:/ tmp)in ... ..
然后它引用我的脚本第32行:
move_uploaded_file($tempFile,$targetFile);
$ tempFile如下:
$tempFile = str_replace(" ","",$_FILES['Filedata']['tmp_name']);
我尝试以多种方式改变我的vhost.conf文件但没有成功 - 它目前代表
<Directory /var/www/vhosts/domain.com/httpdocs>
<IfModule sapi_apache2.c>
php_admin_flag engine off
php_admin_flag safe_mode on
php_admin_value open_basedir none
<IfModule mod_php5.c>
php_admin_flag engine on
php_admin_flag safe_mode off
php_admin_value open_basedir none
</IfModule>
</Directory>
我似乎要绕圈子 - 似乎没有找到tmp目录
答案 0 :(得分:1)
如果它是你的服务器并且你实际上可以搞乱配置,你可以关闭php.ini中的open_basedir
,重新加载PHP并尝试它是否有效。 1}}默认情况下应该在PHP中关闭,因为此选项只会导致问题。
或者你可以试试以下:
safe_mode
如果您决定在那里设置配置,则同样适用于php.ini。