首页 > 解决方案 > 为什么部署在 serer 上的 laravel 会抛出错误:文件 xxx 不在允许的路径内

问题描述

为什么部署在我的实时服务器上的 alravel 会引发此错误?请问怎么解决?完整错误:

is_dir(): open_basedir restriction in effect. 
File(/home/vagrant/Code/PersonalPage/storage/logs) is not within the allowed path(s):
(/nfsmnt/:/data/:/usr/php74/:/usr/bin/:/apachetmp:/tmp/:/var/tmp/:/dev/ura
ndom:/usr/lib/x86_64-linux-gnu/ImageMagick-6.8.9/bin-
Q16/:/usr/local/bin/:/etc/ssl/certs/ca-certificates.crt)

本地工作正常。这是我在服务器上部署 laravel 的第一次尝试。

标签: phplaravel

解决方案


这似乎是一个配置缓存问题,即如果您这样做php artisan config:clear,它应该会消失。

一个问题可能是在文件夹env外使用对助手的调用 - 请参见此处/config

但即使从我的代码中删除这些也无济于事。权限似乎无关紧要。chmod -R 0777 storage即使在没有更改任何权限的情况下清除配置后,我仍然会收到错误消息。


推荐阅读