open_basedir限制生效

时间:2012-12-12 11:11:35

标签: php apache file-upload open-basedir

我在服务器上使用文件上传脚本时遇到了麻烦 - 得出的结论是,这是因为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目录

1 个答案:

答案 0 :(得分:1)

如果它是你的服务器并且你实际上可以搞乱配置,你可以关闭php.ini中的open_basedir,重新加载PHP并尝试它是否有效。

或者你可以试试以下:

safe_mode

如果您决定在那里设置配置,则同样适用于php.ini。