You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无SSH权限下如何通过路由运行Laravel Artisan命令

无SSH权限下通过Laravel路由创建Storage软链接

你提供的路由代码存在一个小问题:Artisan::call()方法只需要传入命令名称,不需要带php artisan前缀。正确的写法如下:

Route::get('create-storage-link', function () {
    Artisan::call('storage:link');
    dd(Artisan::output());
});

关键注意事项:

  • 执行后立即删除该路由:公开的GET路由存在安全风险,任何人访问这个URL都会尝试创建软链接,可能导致重复执行或恶意滥用。
  • 验证主机权限:部分共享主机(包括Hostinger部分套餐)可能禁用了symlink()函数,即便执行命令也无法创建软链接。如果执行后没有生成链接且无报错,需要联系主机服务商确认是否允许创建软链接。
  • 可选:添加权限验证:如果需要临时保留路由,可增加简单的权限控制,比如限制特定IP:
    Route::get('create-storage-link', function () {
        // 仅允许指定IP访问
        if (request()->ip() !== '你的IP地址') {
            abort(403, '无访问权限');
        }
        Artisan::call('storage:link');
        dd(Artisan::output());
    });
    

内容的提问来源于stack exchange,提问作者Shivam Randeri

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 02:10:53