1

私のクライアントの ftp では、古いファイルの3002 3000所有者/グループ列に値があります。

しかし、新しいページをアップロードすると、3002 3002 になり、このファイルにアクセスできません。

この新しいページを読み込もうとすると、次のエラーが表示されます。

NetworkError: 500 内部サーバー エラー

なぜこれが起こるのですか?

3002 3002に変更するphpコードがある場合は3002 3000

所有者/グループの値を変更するにはどうすればよいですか? PHPコードを使用して所有者/グループIDを変更できますか?

既にchown()function を使用しましたが、ftp の所有者/グループ列の値はまだ 3002 3002 と表示されます。

4

4 に答える 4

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));
  ?>
于 2012-03-08T08:45:40.970 に答える
1
  1. chgrp()http://www.php.net/manual/en/function.chgrp.php
  2. chown()http://php.net/manual/en/function.chown.php
于 2012-03-08T08:44:32.230 に答える
1

この新しいページを読み込もうとすると、次のエラーが表示されます。

そして、なぜファイルの所有者とグループを変更しようとしているのですか? エラーが実際に別のものにある可能性はまったくありますか? ログをチェックして、エラー「500」の意味を確認してください。サーバーを移動した場合、所有者とグループだけが問題ではない可能性があります。依存している PHP モジュールがコンパイルされていない可能性があります。

アクセス許可の問題は、実際には 500 Internal Server Error ではなく、403 Forbidden になる可能性があります。繰り返しますが、ログを確認して、実際に何が問題なのかを確認してください。

于 2012-03-08T08:50:37.113 に答える
1

chown()ファイルの所有者を変更するために使用します。

于 2012-03-08T08:41:31.900 に答える