2015-10-17 64 views
0

我已經複製了上傳Symfony2項目中的文件的所有代碼,該項目將所有數據存儲在web/uploads文件夾中。代碼是從here在我的Symfony2項目中上傳文件/圖像時出錯

這是工作在本地主機正常,但在遠程服務器是拋出一個錯誤:

Could not create target directory to move temporary file into. 
    500 Internal Server Error - RuntimeException 

enter image description here

請解決這個問題... 提前感謝!

+2

如圖所示的第40行,代碼嘗試創建文件夾時發生錯誤,您必須在服務器中看到是否可以創建新文件夾的權限。 –

+1

是的,這是一個權限問題,你需要chmod那個壞男孩! –

回答

0

在我看來,你的上傳目錄路徑是錯誤的。它說你試圖創建:「%kernel.root_dir%/ ../web/uploads」

你應該首先從容器中提取參數「kernel.root_dir」,然後創建上傳目錄的路徑。就像這樣:

$kernelRootDir = $this->container->getParameter('kernel.root_dir'); 
$uploadDirPath = $kernelRootDir . '/../web/uploads'; 

我的建議是手動創建該文件夾,並設置它的權限,以775。如果它的當務之急是PHP創建上傳目錄,確保Apache用戶有寫/ web目錄

特權
+0

感謝您的寶貴答覆,但即使它不工作..我已經嘗試了所有可能的方式從你的答案。 –

+0

你想創建什麼樣的direcoty路徑?你可以手工創建它,只需將文件移動到那裏? –

+0

手動的方式, 以前它是'受保護的靜態$ uploadDirectory ='%kernel.root_dir%/ ../uploads';'在'Document.php' 我試過給'$ uploadDirecctory ='/ uploads''並在所有使用$ $ kernelRootDir = $ this-> container-> getParameter('kernel.root_dir');'as as $ uploadDirectory.self :: $ uploadDirectory'調用$ uploadDirectory變量的所有方法中concatinated –