在库存安装和创建基本控制器之后,环境变量设置错误。
例如,ROOT设置如下:
/无功/网络/ HTML /应用程序的名字/ SRC //无功/网络/ HTML /应用程序的名字
换句话说,Apache webserver DocumentRoot正被附加到它。
为什么?
答案 0 :(得分:0)
我学到的是,如果我在控制器中指定文件的绝对路径,Apache DocumentRoot会附加到ROOT变量。例如:
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/observable/fromEvent';
import 'rxjs/add/operator/do';
...
.catch(error => {
let reader = new FileReader();
let loadend = Observable.fromEvent(reader, 'loadend');
reader.readAsText(error.blob());
return loadend.do(() => { throw new Error(reader.result /* or whatever */); });
})
浏览器无法在/var/www/html/app/src//var/www/html/app/src/file/file.txt
位置找到该文件然而,以下工作符合预期:
public function getFile() {
// disable the default layout for the view
$this->viewBuilder()->layout(false);
$path = ROOT . '/file/file.txt';
$this->response->file($path, array('download' => true));
return $this->response;
}
ROOT位置似乎自动预先到达我上面设置的路径。我没有意识到这一点,也没有在文档中读到任何关于它的内容,所以我仍然不确定它为什么会这样。