我想在yii2高级应用程序中获取项目的根目录。
我的网址就像关注
http://localhost:83/Working-copy/mySite/backend/web/index.php
我用过
Yii::setAlias('@anyname', realpath(dirname(__FILE__).'/../../'));
echo Yii::getAlias('@anyname');
但它给了我
/var/www/Working-copy/mySite
我用过
Yii::$app->request->BaseUrl
但它也给出了
/Working-copy/mySite/backend/web
我只想要
/Working-copy/mySite
任何帮助??
答案 0 :(得分:1)
这是我的解决方案。
添加Request.php
namespace common\components;
class Request extends \yii\web\Request {
public $web;
public $adminUrl;
public function getBaseUrl(){
return str_replace($this->web, "", parent::getBaseUrl()) . $this->adminUrl;
}
public function getActualBaseUrl(){
return str_replace($this->web, "", parent::getBaseUrl());
}
public function resolvePathInfo(){
if($this->getUrl() === $this->adminUrl){
return "";
}else{
return parent::resolvePathInfo();
}
}
}
使用Yii::$app->request->getActualBaseUrl(). // this gives me /Working-copy/mySite
答案 1 :(得分:0)
你有两个应用程序,后端和前端,每个都有不同的BaseURL。路径/Working-copy/mySite
它不是任何应用的BaseURL。但如果设置为params,则可以使用此值。