2009-05-05 18 views
5

私は、ディレクトリに書き込み可能でない場合、サーバー上のディレクトリへの書き込みアクセス権を必要とする単純なWebアプリケーションをPHPで作成しています。ディレクトリの所有者を誰に設定するかを説明するエラーメッセージを表示したいウェブサーバーは(例えばwww-data、誰も)実行されていますが、ほとんどの人はこれを知らないため、ディレクトリを誰にchownするのかを教えてくれる方がいいでしょう。 PHPからこれを見つけることは可能ですか?PHPのようにWebサーバーを実行しているユーザーを見つけることはできますか?

+0

これはhttp://stackoverflow.com/questions/805907/get-apache-linux-user-from-phpと非常によく似た質問です。あなたはそこにあなたの答えを見つけるかもしれません。 – zombat

答えて

2

あなたには、いくつかのbashを実行できる場合、あなたはwhoamiを使用するかは、私が使用間に合わせやトリックは、ファイルを作成することです/proc

0

をチェック。これはPHPプロセスで使用されるユーザーとグループで作成する必要があります。

3

でつつくことができるかもしれないshell_exec()

0

このエラーメッセージは、Windowsサーバー環境では崩壊しています。 「Webサーバーにディレクトリへの書き込みアクセス権があることを確認してください」というエラーメッセージが表示される可能性があります。

2

LINUX/UNIXの場合:UNIXプラットフォームの

<?php 
$temp = tmpfile(); 
print_r(posix_getpwuid(fileowner($temp))); 
?> 
18
<?php 
    echo exec('whoami'); 
?> 
+1

私はそれを使用していますが、何も印刷しません。 –

3

、このソリューションは上でも安全なモードで動作するかもしれませんが、POSIXの拡張機能がインストールまたはコンパイルされていることを提供

$user = posix_getpwuid(posix_geteuid()); 
echo $user['name']; 

文書はhereです。

関連する問題