2014-03-03 89 views
1

因此,我是Laravel 4的新手,我試圖弄清楚如何將Symlink鏈接到我的網站的兩個部分。Laravel 4和Symlinks

首先是應用/存儲 二是公共/緩存(這是一個圖像緩存的存儲位置)

我想這兩個移動到SSD我的服務器上但是,無論何時嘗試設置這些符號鏈接,Laravel都會一直拋出錯誤。

這錯誤是:

ErrorException 
file_put_contents(/meta/services.json): failed to open stream: No such file or directory 

顯然這是無法找到文件系統和符號鏈接不與Laravel工作。但是符號鏈接可以處理單個文件(比如JPEG文件),所以我認爲這對於初始設置沒有任何問題。

爲了澄清,文檔根目錄/公共(通過Plesk設置)

的應用程序(和框架)位於的httpdocs設置爲的httpdocs文件夾,其不再作爲虛擬主機根。

正如我暗示的那樣,這是一個Plesk服務器。所有者屬於虛擬主機,並且該組屬於psacln。但我不認爲有任何權限/所有權問題,因爲我已驗證符號鏈接正在工作。

+0

值得指出的是,這與Laravel毫無關係。 'file_put_contents'是一個本地PHP函數。你的問題幾乎肯定存在於權限。它是共享主機嗎?在這種情況下,'/ meta'路徑實際上就像'/ path/to/user/meta' – bcmcfc

+0

權限全部檢出罰款。這是一個dedi。 – Pete

回答

0

看起來你搞亂別的東西,因爲在錯誤信息的路徑看起來我錯了:

file_put_contents(/meta/services.json) 

IMO,它應該是這樣的:

file_put_contents(/var/www/webapp/app/storage/meta/services.json) 

因爲,如果你已經正確完成了符號鏈接,你做了類似的事情

mv /var/www/webapp/app/storage /mnt/ssd/ 
ln -s /mnt/ssd/storage /var/www/webapp/app/storage 

PHP試圖寫一個文件我n根/ meta文件夾,其中可能沒有這個權限。