2013-11-20 58 views
0

我試圖讓SilverStripe對谷歌 - 應用程序引擎工作,但它給這個錯誤:權限probllem獲得訪問臨時文件夾

PHP Fatal error: Uncaught exception 'Exception' with message 'Permission problem gaining access to a temp folder. Please create a folder named silverstripe-cache in the base folder of the installation and ensure it has the correct permissions' in /base/data/home/apps/s~my_app_id/1.371770119107113254/framework/core/TempPath.php:84 
Stack trace: 
#0 /base/data/home/apps/s~my_app_id/1.371770119107113254/framework/core/TempPath.php(9): getTempParentFolder('/base/data/home...') 
#1 /base/data/home/apps/s~my_app_id/1.371770119107113254/framework/core/Constants.php(238): getTempFolder('/base/data/home...') 
#2 /base/data/home/apps/s~my_app_id/1.371770119107113254/framework/main.php(58): require_once('/base/data/home...') 
#3 /base/data/home/apps/s~my_app_id/1.371770119107113254/index.php(66): require_once('/base/data/home...') 
#4 {main} 
thrown in /base/data/home/apps/s~my_app_id/1.371770119107113254/framework/core/TempPath.php on line 84 
+0

那麼第84行的/framework/core/TempPath.php是什麼?你有沒有試過解決這個問題? – IanGSY

+0

你是否在寫有權限的根目錄下創建了一個'silverstripe-cache'文件夾? – 3dgoo

+0

你的意思是應用程序的根文件夾?我怎麼給它寫權限? – BenjiButton

回答

1

聽起來就像您需要使用gs://流包裝將臨時文件夾配置爲指向Google Cloud Storage。本地文件系統在GAE上不可寫,這就是爲什麼默認不起作用。

從評論由LevB看來你設置TEMP_FOLDER常量到適當的位置。在這種情況下,它應該是類似於gs://mybucket/temp

一定要創建一個存儲桶並設置權限以允許您的應用訪問它。欲瞭解更多信息,請參閱:https://developers.google.com/appengine/docs/php/googlestorage/

+0

我在哪裏更改'TEMP_FOLDER'? – BenjiButton

+0

來自LevB的評論:http://doc.silverstripe.org/framework/en/topics/environment-management。 – boombatower