gpt4 book ai didi

php - 在 php 中更改目录权限 (chmod)

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:39:52 24 4
gpt4 key购买 nike

我已经用谷歌搜索了,但我似乎无法让我的脚本工作。

这是我的代码

if (is_dir("tmp")) {
if (substr(sprintf("%o", fileperms("tmp")), -4) == "0777") {
echo "good";
} else {
echo "going to chmod the tmp folder to 777";
if (!chmod("tmp", octdec(0777))) { // tried chmod("tmp, 0777) too
echo "Oops, I couldn't chmod the /setup/tmp directory, please do this manually";
}
}
} else {
echo "we'll make the folder";
}

我似乎无法让 chmod 工作,我在某处读到如果寄存器全局变量关闭那么这将不起作用(我将该设置设置为关闭)。

我遵循了 PHP.net 手册和他们在用户评论中提供的一些示例,以及一些我发现相关的堆栈溢出帖子。但也许我需要调整一些 php 设置才能让它工作?

有没有办法让 chmod 函数在不需要更改 PHP.ini 的情况下工作?

最佳答案

您没有给我们足够的信息来确定为什么 chmod()正在失败。可能是网络服务器没有足够的权限来更改目录权限。

Web 服务器进程的所有者应该拥有该目录或者是拥有组的成员。例如,如果 root拥有 tmp,并且您的 Web 服务器以用户“apache”身份运行,将无法从 PHP 修改目录的权限。

我相信您在 php.ini 中提到的设置是为了调试,而不是神奇地“修复”chmod。尝试将以下代码行添加到您的 PHP 脚本中,您应该会得到更有用的调试输出:

ini_set('display_errors', 'On');
error_reporting(E_ALL)

关于php - 在 php 中更改目录权限 (chmod),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8091220/

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