2012-12-12 114 views
0

我一直在使用我的服務器上的文件上傳腳本時遇到問題 - 得出的結論是,這是因爲PHP正在Apache模塊上運行,因此重新配置PHP以FastCGI運行。open_basedir限制生效

不幸的是現在,當我嘗試上傳經uploadify我得到的錯誤

警告文件:move_uploaded_file()以[function.move上傳文件] 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

如果這是你的服務器,你可以真正惹配置周圍,你可以在你的PHP關閉open_basedir .ini,重新加載PHP並嘗試它是否工作。 safe_mode應該在PHP中默認關閉,因爲這個選項只會導致問題。

或者你可以嘗試以下操作:

<Directory /var/www/vhosts/domain.com/httpdocs> 
    php_admin_value open_basedir "/var/www/vhosts/domain.com/httpdocs/:/tmp/:/var/www/vhosts/domain.com/uploads/" 
</Directory> 

同樣可以申請在php.ini如果您決定設置的配置那裏。

+0

感謝您的回覆 - 我似乎已經解決了您的第一個建議的問題 – Sideshow

相關問題