我的主机不支持open_basedir模块,我在删除我使用此代码删除的照片时遇到问题:
use Illuminate\Support\Facades\File;
if (File::exists($box->image))
File::delete($box->image);
如果不起作用,我应该使用什么方法来支持主机中的open_basedir
use Illuminate\Support\Facades\File;
if (File::exists($box->image))
File::delete($box->image);
>>> error:
file_exists(): open_basedir restriction in effect. File(/images//Pinterest_Download (84).jpg) is not within the allowed path(s): (/home/app/:/tmp:/var/tmp:/usr/local/lib/php/)
1条答案
按热度按时间prdp8dxp1#
首先,您的主机确实支持open_basedir。错误只是告诉您,您试图访问磁盘上的文件,由于open_basedir限制,您不允许访问该文件。
看起来你的问题是,你试图访问绝对路径。也许你可以尝试用laravels的帮助函数引用正确的目录。
当你的目录实际上位于根路径下时,你必须切换它,因为当openbasedir限制生效时,你将永远无法访问它。
请记住,
storage_path()
引用laravel项目中的storage/目录。