在我的客户端的ftp中,旧文件在所有者/组列中具有3002 3000
值。
但是当我上传新页面时,它有3002 3002,我无法访问此文件。
当我尝试加载此新页面时,会显示错误:
NetworkError:500内部服务器错误
为什么会这样?
如果有任何PHP代码将3002 3002
更改为3002 3000
?
如何更改所有者/组值?我可以使用任何PHP代码更改所有者/组ID吗?
我已经使用了chown()
函数,但ftp中的所有者/组列值仍然没有显示3002 3002
答案 0 :(得分:2)
<?php
// File name and username to use
$file_name= "test.php";
$path = "/home/sites/public_html/login/" . $file_name ;
$user_name = "root";
// Set the user
chown($path, $user_name);
// Check the result
$stat = stat($path);
print_r(posix_getpwuid($stat['uid']));
?>
它将返回如下内容: -
Array
(
[name] => root
[passwd] => x
[uid] => 0
[gid] => 0
[gecos] => root
[dir] => /root
[shell] => /bin/bash
)
更改文件组: -
<?php
$filename = 'file.txt';
$format = "%s's Group ID @ %s: %d\n";
printf($format, $filename, date('r'), filegroup($filename));
chgrp($filename, 8);
clearstatcache(); // do not cache filegroup() results
printf($format, $filename, date('r'), filegroup($filename));
?>
答案 1 :(得分:1)
使用chown()
更改文件的所有者。
答案 2 :(得分:1)
答案 3 :(得分:1)
当我尝试加载这个新页面时,它会显示错误:
为什么要尝试更改文件的所有者和组?这个错误实际上是在其他地方吗?尝试检查日志以查看错误“500”的含义。如果您移动了服务器,那么所有者和组可能不是唯一的问题,可能是某些PHP模块尚未编译,而您依赖它们。
权限问题实际上可能会产生403 Forbidden,而不是500内部服务器错误。再次,检查您的日志以找出实际出错的地方。