所以我是Laravel 4的新手,我正在试图弄清楚如何Symlink我网站的两个部分。
首先是应用/存储 第二个是 public / cache (这是存储图像缓存的地方)
我想将这两个移动到我服务器上的SSD中,但是每当我尝试设置这些符号链接时,Laravel都会抛出错误。
该错误是:
ErrorException
file_put_contents(/meta/services.json): failed to open stream: No such file or directory
显然,它无法找到文件系统,并且符号链接不能与Laravel一起使用。但是符号链接可以处理单个文件(例如jpeg),所以我很肯定初始设置没有问题。
为了澄清,文档根目录设置为 httpdocs / public (通过Plesk设置)
应用程序(和框架)位于 httpdocs 文件夹中,该文件夹不再用作vhost根目录。
正如我所暗示的那样,它是Plesk服务器。所有者属于vhost,该组属于psacln。但我认为没有任何权限/所有权问题,因为我已经验证了符号链接正在运行。
答案 0 :(得分:0)
看起来你已经弄乱了别的东西,因为错误信息中的路径对我来说是错误的:
file_put_contents(/meta/services.json)
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正试图在root / meta文件夹中写入一个文件,可能它没有权利。