文件驱动怎样配置到项目根路径而不是 public 目录下

我在中网的虚拟主机上部署laravel项目,按照网上的教程我在跟路径下创建了local目录,然后把除了public目录以外的文件全部移动到了local目录,最后把public目录下的文件移动到了根目录下,并删除了public空目录,此时项目的入口由public变成了根目录。

下面是根目录下的截图

问题:

我现在如何配置config/filesystems.php的文件驱动才能让文件保存到根目录下的upload目录内?

我现在尝试修改了config/filesystems.php里面的配置,下面是我的config/filesystems.php的代码

'disks' => [
        'admin' => [
            'driver'     => 'local',
            'root'       => base_path('upload'),
            'visibility' => 'public',
            'url' => env('APP_URL').'/upload',
        ],
  ],

但是程序会报错,下面是报错信息

文件驱动怎样配置到项目根路径而不是public目录下

翻译:出于安全原因,chmod()已被禁用

是因为我配置错误的原因吗,还是服务器的问题?

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
最佳答案

问题解决了,改一下root的路径就可以上传到根目录了,取到他的上级目录就可以了

'disks' => [
       'admin' => [
            'driver'     => 'local',
            'root'       => base_path('../upload'),
            'visibility' => 'public',
            'url' => env('APP_URL').'/upload',
        ],
],

@Summerm
@largezhou
@likunyan

4年前 评论
讨论数量: 12

chmod 在linux系统上是更改权限的命令。你是否给根目录下的upload读写权限?

4年前 评论

@Summerm 我在Ftp工具里面给了upload文件777的权限,还是会报同样的错。

4年前 评论
Summerm 4年前
Summerm 4年前
force (作者) (楼主) 4年前

你把这个函数解禁了不就行了吗,,,

4年前 评论

@largezhou 不行的,这样做文件传不到locla目录里面的。。。。

4年前 评论

服务器问题,chmod 被禁用了。

控制面板看看能不能自己打开,不行提交工单

4年前 评论

问题解决了,改一下root的路径就可以上传到根目录了,取到他的上级目录就可以了

'disks' => [
       'admin' => [
            'driver'     => 'local',
            'root'       => base_path('../upload'),
            'visibility' => 'public',
            'url' => env('APP_URL').'/upload',
        ],
],

@Summerm
@largezhou
@likunyan

4年前 评论
leo

楼主你这个行为很危险,试试在浏览器里访问 {你的域名}/local/.env

4年前 评论

@leo 报了404,还好laravel够强大,哈哈哈

4年前 评论

@likunyan 中网的技术售后态度真不咋滴,人家不给弄,我直接把Local.php里面的第358行用到chmod函数那一行代码给注释了,就不报错了。

4年前 评论
小李世界 4年前
Epona

用 阿里云 吧。。

4年前 评论

@Epona 公司有一台中网的虚拟主机是闲置的,域名还没备案只能放香港的虚拟主机上面,不然我就放云服务器上了,这给我折腾的。

4年前 评论
Epona

@force 只能说惨。。。

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!