gpt4 book ai didi

php - Tuleap Docman 权限被拒绝

转载 作者:太空宇宙 更新时间:2023-11-03 17:24:09 25 4
gpt4 key购买 nike

今天早些时候,我按照 CentOS 6.7 上的说明安装了 Tuleap。大部分工作正常,但是当我尝试使用 DocumentManager 添加文档时,出现以下错误:创建初始版本时出错。

我查看了 httpd 的日志文件 [Sun Jan 03 16:45:36 2016] [error] [client 192.168.99.6] PHP Warning: mkdir():$Permission denied in/usr/share/tuleap/plugins/docman/include/Docman_FileStorage.class.php 第 112 行,referer: (domain)/plugins/docman/?group_id=101$

我现在知道这是一个权限问题,但我不知道这些文件存储在哪里以及如何获得正确的权限。谁能告诉我在哪里看?

提前致谢!

最佳答案

已解决。

仔细观察httpd的错误日志里面,说是要把文件放在根目录下。这当然是不允许的。因此,需要更改 Domcman 自动创建的文件路径。

我在 /usr/share/tuleap/plugins/docman/include 中找到了导致自动创建路径的 Docman_FileStorage.class.php 文件并编辑了 getPath函数/变量 $path/var/lib/tuleap/docman,所以它会有正确的路径。

完整的编辑函数见下:

    */
function _getPath($name, $group_id, $item_id, $version_number) {
$name = preg_replace('`[^a-z0-9_-]`i', '_', $name);
$name = preg_replace('`_{2,}`', '_', $name);
$hash1 = $item_id % 10;
$hash2 = ( ($item_id - $hash1) / 10) % 10;

$path_elements = array($this->root, $this->_getGroupName($group_id), $hash2, $hash1, $item_id, $version_number);
$path = '/var/lib/tuleap/docman';
foreach($path_elements as $elem) {
$path .= $elem .'/';
if (!is_dir($path)) {
mkdir($path, 0700);
}
}

$path .= $name;
return $path;
}

关于php - Tuleap Docman 权限被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34578430/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com