【问题标题】:Allowing WebRoot-Directory Access to overlying Directory允许 WebRoot-Directory 访问上层目录
【发布时间】:2011-08-07 10:13:59
【问题描述】:

我正在尝试在虚拟服务器 (ubuntu) 上设置 php yii-framework。

  • yiiframework放在/var/www/yii-1.1.7/framework/
  • webroot 是/var/www/vhosts/domainname/httpdocs/
  • 命令yiic.php webapp /var/www/vhosts/domainname/httpdocs/appname在所需的webroot文件夹中成功创建了对应appname的目录。
  • 但是,文件夹中的页面会导致 500 内部服务器错误。

由于框架文件夹显然具有将所需文件写入 webroot 的必要权限(我仔细检查了所有文件是否按预期创建)我怀疑这一定是由于 webroot 没有需要访问上层框架目录。

有没有人知道如何更改相应的配置文件以使其正常工作?

【问题讨论】:

  • 在 apache 错误日志中查找原因
  • 我希望我能回复一些感兴趣的内容,但是 apache 日志中没有一条消息与当前时间值有点接近。但是我确实注意到无法访问每个 yii 命令在 webroot 中创建的目录和文件,我也无法通过 ftp 更改目录权限。
  • php 错误日志,整体错误日志,mod_rewrite 日志怎么样
  • 非常感谢您的提示。好东西。 php 错误日志实际上已关闭,因此我首先必须编辑 php.ini 文件才能正确处理。网站上的当前输出是 ->>> pastebin.com/BB0nHRqD

标签: php ubuntu installation config yii


【解决方案1】:

因为您的错误日志显示“open_basedir 限制生效”。在不更改 php 配置 open_basedir 变量的情况下,您无法真正在此服务器中包含您的 basedir 或 webroot 之外的任何内容

【讨论】:

  • 我试图通过添加这里提到的行来摆脱 php 错误消息:stackoverflow.com/questions/2781185/… 到整个 httpd.conf 并且(因为这是一个安装了 plesk 10 的系统)我还添加了一个文件 vhost.conf 到 webroot 的 /conf/ 目录,请参见此处:toosweettobesour.com/2008/02/02/plesk-open_basedir-workaround - 但是 php 错误消息保持不变。这是错误的方法还是有其他可能导致这些错误的原因?
  • 已解决。非常感谢。为了让这个问题成为一个对其他人有价值的问题,以下是使事情起作用的原因:将文件 vhost.conf 添加到 webroot 的 /conf/ 目录,然后调用 /usr/local/psa/admin/sbin /websrvmng -v -a 完成了这项工作。仅供参考,这是我的 vhost.conf 文件的内容:pastebin.com/P0hvsXN9 - 非常感谢任何人帮助我解决这个问题。好东西!
【解决方案2】:

在您的 yii 应用程序主文件夹中的 index.php 文件中,有一行应该如下所示:

$yii=dirname(__FILE__).'/../../../../yii-1.1.7/framework/yii.php';

这是您的索引引导文件。所有 yii 请求都流经这一点。这个文件需要知道框架资源在哪里。这就是上面的路径。

【讨论】:

  • 感谢您的回答,但该文件中的路径设置正确
  • 我会检查框架文件夹的权限。 chmod 777 文件夹,看看是否有帮助。请记住将权限重新锁定。
猜你喜欢
  • 2017-05-22
  • 2014-01-20
  • 1970-01-01
  • 1970-01-01
  • 2019-03-03
  • 2016-05-02
  • 1970-01-01
  • 1970-01-01
  • 2014-07-20
相关资源
最近更新 更多