0

我正在将 Yii 框架用于 Web 应用程序。我将运行时文件夹移出受保护的文件夹,并将其放在与 index.php 文件相同的级别。现在在主配置文件 main.php 中我添加了:

'runtimePath'=>dirname(__FILE__).DIRECTORY_SEPARATOR.'..'.DIRECTORY_SEPARATOR.'runtime',

它位于正确设置的 basePath 下方:

'basePath'=>dirname(__FILE__).DIRECTORY_SEPARATOR.'..',

我确保运行时文件夹是可写的。我将 Godaddy 与 Windows IIS7 服务器一起使用。这是我得到的错误:应用程序运行时路径“D:\Hosting\9434915\html\yii\picbridge\protected\config..\runtime”无效。请确保它是 Web 服务器进程可写的目录。

我知道它指向错误的文件夹,但我如何让它指向正确的文件夹?我对 runtimePath 使用与 basePath 相同的文件路径约定。

4

3 回答 3

2

你在...
注意错误消息中的路径,它是文件夹config..,然后是斜杠:
D:\Hosting\9434915\html\yii\picbridge\protected\config ..\runtime
应该是:
D:\Hosting\9434915\html\yii\picbridge\protected\ config \..\runtime
这里奇怪的是你有DIRECTORY_SEPARATORafter dirname(__FILE__),它应该产生正确的路径。

提示: 不需要 DIRECTORY_SEPARATOR,只要 use/就可以在任何窗口上正常工作,这仅对从文件系统解析路径有用。

提示 2:感谢Eirik Hoem的评论,您应该严格将受保护的文件与公共文件分开。我个人使用以下布局:

/app/protected/
/app/www/
/framework/
于 2013-04-10T09:27:04.427 回答
1

你不应该把它放在 index.php 级别,把它放在受保护的文件夹中。

在受保护的文件夹中,使用.htaccesswithdeny from all以防止直接访问您mvc style php code的非传统html output php code.

检查应用程序基本目录以获取详细信息

于 2013-04-10T01:38:05.600 回答
0

我找到了解决问题的方法,我从 Windows 托管计划切换到了 Linux。切换后,我立即使用 FileZilla 设置文件夹权限,错误消失了。我认为问题与用户在 Godaddy Windows 共享主机计划中设置文件夹权限的能力有限有关。用户只能使用 Godaddy 的 FTP 文件管理器来设置权限,他们不能像在 Linux 共享主机计划中那样使用 FileZilla 来设置权限。

于 2013-04-15T12:57:01.730 回答