首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >unlink()触发open_basedir限制。但其他函数都能正常工作

问unlink()触发open_basedir限制。但其他函数都能正常工作
EN

Stack Overflow用户
提问于 2013-01-04 21:40:39
回答 2查看 239关注 0票数 0

我有如下常量:FSROOT,它被设置如下:getcwd()。我可以在我的应用程序中的任何地方使用这个常量,而不必担心路径,例如:require_once(FSROOT . '/includes/php/something.php)。

然而,我最近在我的应用程序中实现了一些文件,在某些事件中,我需要删除一些文件,以下是我在本地执行的操作:

代码语言:javascript
复制
unlink( FSROOT . '/somefile.pdf' );

这在我的本地环境中工作得很好。然而,在服务器上我得到了一个错误:

代码语言:javascript
复制
unlink(): open_basedir restriction in effect. File(/mnt/var/[...]/app/somefile.pdf) is not within the allowed path(s): (/var/[...]/app/)

所以问题似乎出在从getcwd()返回的/mnt/目录,但它与我允许的路径不匹配!

我有点困惑,因为除了unlink()之外,任何函数都可以使用FSROOT路径。这也是我不想改变它的原因。有没有其他方法可以删除这个文件?或者我必须手动创建另一个常量来与unlink()一起使用

或者有没有我应该使用的getcwd()的替代方法?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-01-06 19:40:42

原来我是以一种非持久的方式存储文件的路径,我的主机有时会在服务器上移动我的应用程序,所以路径会改变,unlink()会试图访问一个不存在的路径……所以这里真的没有什么要回答的,对不起。

票数 0
EN

Stack Overflow用户

发布于 2013-01-04 21:49:39

你有没有尝试过结合使用目录名和文件来获得正确的路径?

代码语言:javascript
复制
dirname(__FILE__)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14158291

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档