问题标签 [open-basedir]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
5188 浏览

php - PHP:open_basedir 允许的路径

is_dir在一个页面上有几个电话。他们一直工作没有问题。

几天前,托管公司将 PHP 从 5.2 升级到 5.3。从那时起,我所有的电话is_dir都导致了以下错误(消息):

这让我很困惑。

显然,根据错误消息(php_info以及),目录/home/virtual/domain.com(没有尾部斜杠,因此包括子目录)包含/启用open_basedir,并且is_dir尝试迭代的文件都位于该文件夹下的子文件夹中。那么为什么它们不在允许的路径之内呢?显然他们是!

奇怪的是,这个错误似乎只在is_dir返回 false 时出现,即文件不是文件夹,而是普通文件时。它似乎可以遍历目录而不会引发错误。

以前在这里发布的类似问题:Open_basedir 限制奇怪(未找到解决方案)。

有人有想法么?

(注意:更改 PHP 设置不是一个选项,因为这是一个共享主机,我没有任何管理员访问权限)

0 投票
2 回答
447 浏览

php - 在根文件夹之外托管子域时的 Open_basedir 限制

好的,我的主目录是 /home/tubzandm

我的实时站点的根文件夹是 /home/tubzandm/public_html

我们的开发站点是 /home/tubzandm/develop/public_html

域 dev.tubzandmore.com 指向 /home/tubzandm/develop/public_html

域 cp.dev.tubzandmore.com 指向 /home/tubzandm/develop/public_html/cp

当我在 cp.dev.tubzandmore.com 上托管的脚本尝试调用 require_once 时,我得到:

第 4 行的 functions.php 中的代码说

我们使用 Apache DSO 风格的指令。

当然,我可以进入 PHP open_basedir Tweak 并禁用对该域名的保护。但是我们的项目经理对安全性非常挑剔,不希望我们这样做。

有谁知道解决方法?或者一个很好的解释为什么我们应该有 open_basedir 保护?

mainlib.inc 位于 /home/tubzandm/develop/public_html/includes。当我尝试从位于 /home/tubzandm/develop/public_html/cp/lib 中的 functions.php 内部要求该错误时,出现错误

0 投票
1 回答
1675 浏览

php - 如何在 ubuntu 上安装 iF.SVNAdmin

根据http://en.wikipedia.org/wiki/Comparison_of_Subversion_clients,网络界面iF.SVNAdmin可以安装在 linux 操作系统上。

我想将它用作运行 apache 和 php(产品网站上仅列出的两个要求)的 ubuntu vserver 上的颠覆存储库的 Web 界面,但我无法输入 svn 可执行文件的路径。

在配置模板中有 svn.exe 和 svnadmin.exe 的路径 - 看起来只像 windows。

是否可以在 ubuntu 上使用 iF.SVNAdmin,如果可以:如何?

// 编辑:我终于明白了:linux svn 和 svnadmin 二进制文件(/usr/bin/svn 和 /usr/bin/svnadmin)的路径不仅需要在 config.ini 中配置(我所做的),但路径 /usr/bin/ 必须在 php open_basedir 配置中。至少现在打开了配置屏幕,我可以继续配置 If.SVNAdmin。

0 投票
1 回答
178 浏览

php - 使用 PHP 将文件保存到另一个 DocumentRoot

我有一个生成一些图像文件的站点。我不想保存到站点的DocumentRootlike\home\mysite\public_html\photos中,而是想保存到另一个用户的目录中,例如\home\anothersite\public_html\photos. 这样做的原因是为了方便将所有照片移动到其自己的专用服务器,仅用于提供图像。

PHP有没有办法将文件保存到另一个用户的目录?我正在考虑使用rename()和禁用open_basedir. 还是我应该使用ftp_fput()


更新

当我尝试这个(涉及mkdir()创建新目录)时,我收到错误:

我错过了一些权限设置吗?

0 投票
3 回答
1096 浏览

php - 检查路径是否会因为 open_basedir 而失败

是否可以在失败之前检查这一点?

0 投票
0 回答
496 浏览

less - 解析 LESS 文件时的 open_basedir 限制

在解析我的“Twitter BootStrap”文件并将它们保存在磁盘上的 less-cache 文件夹中时,我收到了一条警告。

警告:is_file(): open_basedir 限制生效。文件(/../../lib/bootstrap/less/reset.less.less) 不在允许的路径内: (/var/www/vhosts/example.com/:/tmp/) in /第 80 行的 var/www/vhosts/example.com/httpdocs/wp-content/modules/wp-less/lessc/lessc.inc.php

我在我正在解析的主文件中使用(例如)@import "../../lib/bootstrap/less/reset.less";

有趣的是,第一个样式表获得了两次扩展:reset.less.less- 其他的没有。让我想知道的另一件事是,为什么/文件前面有一个前导。


关于环境和服务器的一些数据:

php.ini

提前感谢您的帮助!

0 投票
2 回答
697 浏览

php - Symfony1.4 的 open_basedir() 警告

经常浏览我的网站我可以看到这个 php 警告:

Warning: is_readable(): open_basedir restriction in effect. File(/var/www/vhosts/<my site>/httpdocs/apps/frontend/modules/.sf/config/config_handlers.yml) is not within the allowed path(s): (/var/www/vhosts/<my site>/httpdocs/:/tmp/) in /var/www/vhosts/<my site>/httpdocs/lib/vendor/symfony/lib/config/sfConfigCache.class.php on line 305

真正的问题是谷歌正在用那个警告索引我的页面......

如标题中所述,我使用的是 Symfony 1.4.18。我该如何解决?

它是一个 Symfony 错误,还是一种我可以绕过的 PHP 限制?

0 投票
1 回答
2861 浏览

php - php代码中的open_basedir限制有效错误

我是 php 语言的初学者。在我的网络项目中,我创建了一个 filepath.config.ini 文件,该文件将所有文件路径存储在网站目录中。例如。CLASS1 = bin/myclass1.php CLASS2 = bin/myclass2.php

我使用以下方法访问这些路径:

在本地主机服务器中,它运行良好并给了我这样的路径

当我在测试服务器上上传这些文件时,我得到了这个 open_basedir 限制错误。

我知道我们可以禁用此限制...但我不知道该怎么做:P。但是使用这个服务器 DOCUMENT_ROOT 好吗???还是他们使用文件路径的任何替代方式?你们人们为访问这些文件路径所做的事情。如果我禁用 open_basedir 限制会发生什么?这样做安全吗?请帮我做什么?

0 投票
1 回答
285 浏览

php - Jira API 问题 - 启用安全模式或在共享主机上设置 open_basedir 时无法激活 CURLOPT_FOLLOWLOCATION

我在 Atlassian Jira 错误系统 API 上运行一些代码,这是我使用的代码

这基本上就是所有代码,现在如果我运行该代码,我会收到服务器错误:

当启用安全模式或在第 388 行的 /usr/local/pem/vhosts/117355/webspace/httpdocs/morny.me/jira_filters.php 中设置 open_basedir 时,无法激活 CURLOPT_FOLLOWLOCATION

但是,如果我改为运行注释代码:

这很好用,没有问题。

老实说,我不知道问题出在哪里,所以我给我的托管公司发了一封电子邮件

嗨,保罗,

默认情况下,我们的服务器禁用安全模式。请记住,您为第二种解决方案提供的链接描述了单站点手动配置,这不是我们在共享主机上执行的操作。

当我尝试访问 conf 文件夹或 .htaccess 文件或 httpdocs 文件夹之外的任何内容时,它说我没有权限,所以看起来我限制了我可以更改的内容。

有什么解决方法吗?

0 投票
1 回答
8721 浏览

joomla - 如何在 PHP 中为 Joomla 设置 open_basedir

我正在尝试open_basedir在服务器上的 php.ini 文件上进行设置,但是我不确定如何设置。

我是否在服务器上的某处创建目录?