Yii2 Yii 2:无法在config/web.php文件别名部分使用@web

Yii2 Yii 2:无法在config/web.php文件别名部分使用@web,yii2,Yii2,我使用的基本模板 这是我在config/web.php中的代码: return [ 'aliases' => [ '@uploadUrl' => '@web/uploads/', ], ]; 我想这样使用别名: <?= Html::img( Yii::getAlias('@uploadUrl/'.$model->image)); ?> 但是,程序出错了: 无效路径别名:@web/uploads/ 谢谢你的帮助 不要安装测试AT

我使用的基本模板

这是我在
config/web.php
中的代码:

return [
    'aliases' => [
        '@uploadUrl' => '@web/uploads/',
    ],
];
我想这样使用别名:

<?= Html::img( Yii::getAlias('@uploadUrl/'.$model->image)); ?>

但是,程序出错了:

无效路径别名:@web/uploads/


谢谢你的帮助

不要安装测试ATM,永远不要以斜杠字符结尾。您可以尝试在上传后删除它/ 你也可以试试这样的方法,看看是否有效

Yii::setAlias('@uploadUrl', '@web/uploads');
试试这个:

'@uploadUrl' => '@app/web/uploads',

是的,我在问问题之前试过了。这样做没有什么区别。你能做以下事情吗:检查打印的内容,看看你的上传文件夹是否在正确的位置?也许这是个bug。您正在使用别名创建别名。我不确定这是否有效。尝试在没有“@web”的情况下定义“@uploadUrl”是的,它在没有
@web
的情况下工作;同样,我定义了另一个别名
'@uploadDir'=>'@app\web\uploads'
,它工作得很好。当然,我用它来保存上传的文件。效果很好。下一条路。从配置文件夹文件
aliases.php
创建。这里是yii2框架对@web的定义:`Yii::setAlias('@web',$request->getBaseUrl())<代码>;和@uploadDir`我用于通过url访问上传的文件,定义如下
dirname(dirname(uuu DIR_uuu))。'/web“
让我不满意。是的,我确实尝试了
@webroot
,不幸的是,它也不起作用。请注意别名的设置位置:我在
@app/config/web.php
中设置它,而不是在控制器、模型或视图文件中。