支持PhP Linux安全模式的文件检查

支持PhP Linux安全模式的文件检查,php,linux,file,bootstrapping,Php,Linux,File,Bootstrapping,我在引导程序中有一个简单的检查,检查目录是否可写 我现在用这个函数来做 但正如文件中所述: 请记住,PHP可能以用户id的形式访问该文件 web服务器以(通常为“无人”)身份运行。不存在安全模式限制 考虑到 它忽略了当Linux进入安全模式时的情况,这是我们在1个月前遇到的情况,函数返回true,即使文件写入是不可能的,因为它忽略了安全模式(大多数文件系统都处于无所有者状态) 现在,我如何才能正确处理安全模式,让我的脚本在每次检查时都不生成新文件的情况下死掉(这会导致严重的性能问题)???您可以

我在引导程序中有一个简单的检查,检查目录是否可写

我现在用这个函数来做

但正如文件中所述:

请记住,PHP可能以用户id的形式访问该文件 web服务器以(通常为“无人”)身份运行。不存在安全模式限制 考虑到

它忽略了当Linux进入安全模式时的情况,这是我们在1个月前遇到的情况,函数返回true,即使文件写入是不可能的,因为它忽略了安全模式(大多数文件系统都处于无所有者状态)

现在,我如何才能正确处理安全模式,让我的脚本在每次检查时都不生成新文件的情况下死掉(这会导致严重的性能问题)???

您可以使用这样的函数或函数

function isWritable($file) {
    $perms = fileperms($file);
    if (is_writable($file) 
      || ($perms & 0x0080)  // owner writable
      || ($perms & 0x0010)  // group writable
      || ($perms & 0x0002)) // world writable
        return true;
}