【问题标题】:open_basedir restriction Error with CodeIgniter App in Subdirectory子目录中 CodeIgniter App 的 open_basedir 限制错误
【发布时间】:2012-05-26 11:05:47
【问题描述】:

我有一个用于管理目的的 CodeIgniter 应用程序,放在域的子目录中。

当我更新记录并尝试清除页面的缓存副本时出现以下错误,该副本位于域根目录的缓存文件夹中。

我的服务器有 Plesk 控制面板,我尝试修改 vhost.conf 并重新启动服务器,但问题仍然存在...

首先我不明白为什么子目录下的php脚本不能访问根目录下的文件夹,是不是因为CodeIgniter?

请帮助...以下是我收到的错误。

A PHP Error was encountered

Severity: Warning

Message: unlink(): open_basedir restriction in effect. File(../../cache/2dd676d5e044a6190d27ccbaf094db7b.html) is not within the allowed path(s): (/var/www/vhosts/xyz.com/httpdocs/:/tmp/)

Filename: models/products_model.php

Line Number: 180

【问题讨论】:

  • 您是否搜索过错误信息并尝试解决?
  • 是的,做了 4 5 个小时……尝试了很多事情。起初 CI 应用程序位于子域中,我认为如果将其放入子目录中它可能会起作用,但错误仍然存​​在。有什么想法吗?

标签: php apache codeigniter plesk open-basedir


【解决方案1】:

你的服务器上真的允许“open_basedir”吗?它通常可以被关闭 - 并且会产生这种错误......

【讨论】:

  • 相同的例程在另一个 PHP 脚本中运行良好。
  • 该例程是否访问相同的文件/目录?
  • 这就像每当用户进行一些更改时,脚本都会删除静态 html 缓存副本,以便注册更改,并且它可以工作。现在我已经制作了这个管理应用程序,它位于同一域的子目录中,当我编辑记录并尝试删除缓存的文件时,会出现此错误。我很困惑 php 如何禁止同一子目录中的脚本。这和 CodeIgniter 有关系吗?
  • 不 - 这不是 codeigniter 问题。这似乎是 opendir() 和子域中的访问权限(或者可能是子域的路径)的问题 - 这就是它不起作用的原因
  • CodeIgniter 应用程序位于子目录中,而不是子域中。
猜你喜欢
  • 2011-05-09
  • 2011-03-16
  • 2020-05-21
  • 2013-01-06
  • 1970-01-01
  • 1970-01-01
  • 2015-02-21
  • 2011-01-27
  • 2015-05-29
相关资源
最近更新 更多