0

config.phpファイルを共有しているWebアプリケーションがあります。このファイルには、(を使用してset_error_handler)エラーメッセージを収集し、スクリプトの実行の最後に(を使用して)エラーを一元化されたログファイルに保存する関数を含めますregister_shutdown_function

ログファイルは、の形式で毎日作成されますY-m-d.log。cronスクリプトはアプリケーションの一部として5分ごとに実行されるため、通常は毎日最初のエラーの原因となるため、エラーファイルはアカウントのスーパーユーザーであるcronユーザーの下に作成されます。

スタッフが仕事に来てアプリケーションを使用すると、スクリプトはapacheユーザー(99)の下で実行されます。エラーロガーはスーパーユーザーが所有しているため、エラーファイルに書き込むことができません。

考えられる解決策の1つは、cronスクリプトchownにログファイルを99に設定して、apacheユーザーがアクセスできるようにすることです。uid 99はapacheホスティングで受け入れられている規則ですか、それとも99をハードコーディングすると将来の移植性の問題が発生しますか?

ログにアクセスできるようにする他の方法( exec/に頼らずに)はありますか?sudo

Update: I don't have shell access to the server.

Thanks, Adam

4

1 に答える 1

1
root@deathstar:~# su nobody
$ id
uid=65534(nobody) gid=65534(nogroup) Gruppen=65534(nogroup)

IDは必要ありません。ユーザー名で十分です。何もハードコーディングしたくない場合は、次のことをお勧めします。

  • 最初に「ユーザー」の/etc/apache2/apache2.configをgrepします
  • ユーザー名を使用してchmodを実行します(chmodはユーザーIDを取得します)
于 2010-09-07T11:33:10.620 に答える