Yii框架建议的文件夹结构不工作

Yii框架建议的文件夹结构不工作,yii,Yii,我是Yii的新手。我已经成功地启动并运行了一个示例应用程序,但由于我现在要进入一个实际项目,我希望使用以下文件夹结构来提高安全性: [Server root (/) ] - yii -- framework -- requirements [Server htdocs] - myapp -- public --- assets --- css --- images --- themes --- index.php -- private --- protecte

我是Yii的新手。我已经成功地启动并运行了一个示例应用程序,但由于我现在要进入一个实际项目,我希望使用以下文件夹结构来提高安全性:

[Server root (/) ]
- yii
 -- framework
 -- requirements

[Server htdocs]
- myapp
 -- public
  --- assets
  --- css
  --- images
  --- themes
  --- index.php

 -- private
  --- protected
当我将受保护的文件夹放在公用文件夹中时,一切都很好,但我不想这样做

使用建议的结构使其工作的唯一方法是在公用文件夹中创建一个符号链接,指向专用文件夹中的受保护文件夹。如果我直接在私人文件夹中引用它,它只会在加载应用程序时给我一个空白页

我已仔细检查了配置路径和权限


感谢您的帮助

您可以将受保护的文件夹放在您想要的地方,但您必须告诉它
index.php
。在您的案例中,该行显示:

$config=dirname(__FILE__).'/protected/config/main.php';
必须说:

$config=dirname(__FILE__).'/../private/protected/config/main.php';

index test.php中也一样

您可以将Yii配置为使用您需要的文件夹来满足您的特定需求,例如受保护的文件夹、资产、主题等


以“”为例。

有一个名为的开放源代码项目,它为Yii提出了应用程序结构,以便在需要可扩展性的大型项目中使用。

感谢您的回复,但我已经这样做了(只是再次这样做以确保它是正确的)。不幸的是,我仍然有同样的问题。当我在浏览器中访问应用程序时,我只看到一个空白页面。实际上,我设法让它部分工作(路径确实错误,被忽略了…),但是没有加载CSS或图像(可能是因为它们在公用文件夹中,并且有一个路径我需要为它们更改?)有什么想法吗?你的
index.php
中定义
$yii
的行是否正确调整了?在您的例子中:
$yii=dirname(_文件)'/../yii/framework/yii.php'是的,但是CSS和图像没有被渲染。我怎么告诉yii在哪里找到他们?另一个答案中提供的链接没有解释如何指向它们。您可以在
protected/config/main.php
中的
basePath
键中定义它。在您的例子中,类似这样的内容:
'basePath'=>dirname(\uuuu文件\uuuu)。DIRECTORY\u SEPARATOR.'...DIRECTORY\u SEPARATOR.''.myapp'.DIRECTORY\u SEPARATOR.'public'
非常感谢,我以前没有看过这个页面。希望这能让我解决我的问题。