CakePHP 2.4.1 $this->webroot 给出 / 而不是 /app/webroot

CakePHP 2.4.1 $this->webroot gives / and not /app/webroot

我继承了一个 CakePHP 2.4.1 项目,我不想使用所有 html、css 脚本助手,因为如果我们曾经想更改框架,但是当我尝试使用

加载脚本、样式和图像时
<?php echo $this->webroot; ?>css/app.min.css

但这会产生

的 URL
http://example.com/app.min.css

$this->webroot 只是 returns /,我对 CakePHP 还不是很熟悉。是否有配置设置或设置的东西正在改变它?我的 vhosts 文件指向 webroot。

"Webroot" 是public 可以访问的目录。它包含您所有的资产元素等,它应该看起来像:

-- webroot
| -- assets
    | -- css
    | -- js
    | -- img
| -- index.php
//etc

因此,当您 运行 $this->webroot 时,您将获得 public 目录的路径。这假定所有资产文件都将驻留在该目录中。

如果这已被修改,只需打开您的应用程序的 index.php 并找到这一行:

define('WEBROOT_DIR', 'MY_WEBROOT_DIR');

并将 MY_WEBROOT_DIR 更改为 public 目录所在的实际名称 within your CakePHP Application