1

この質問がすでに回答されている場合、または別のばかげた質問である場合はまず申し訳ありません。すでに回答している場合は、どこで答えを見つけることができるか教えてください。

今日、同じマシンを見つける別のサイトからリストディレクトリを取得するためにscandirを使用していますが、chmod -R 0777 for it dirを実行してもリストを取得できませんでした。

# all bellow code run from site2.com
$location = "/var/www/vhosts/site1.com/site1.com/httpdocs/webdata/";

# this return FALSE
$files = scandir($location);  # return FALSE
$res = opendir($location);
$files = readdir($res);  # return FALSE
closedir($res);

# i try this after chmod -R 0777 /var/www/vhosts/site1.com/site1.com/httpdocs/webdata/
# from terminal with admin account, but still ... FALSE :-(
print(is_readable($location) ? 'TRUE' : 'FALSE');  # print FALSE

exec 関数を使用してこの問題を解決しましたが、推奨されていないようです (特に cpanel では)。そして問題は、chmod の後に is_readable 関数が true を返すことができないのはなぜですか? 検索Googleとphpから、これがなぜ起こるのかを説明していません。ファイルリストを取得する方法をすでに見つけていましたが、なぜそれが起こるのか知りたいです(chmod -R 0777を実行した後)。

注:私はそのマシンの管理者であり、そのマシン上のすべてのWebサイトは私に属しているため、クライアントWebサイトをハッキングしようとせず、コントロールパネルのホスティングにehcpを使用していません.

ありがとうございました。

PHP設定またはApache設定で「open_basedir」による制限が発生するのが好きです。

すいません。

4

0 に答える 0