PHP の__HALT_COMPILERについて聞いて以来、私は単一ファイルの PHP インストーラー (Web アプリケーション用のファイルツリーの圧縮アーカイブを含むスクリプト) でいくつかの実験を行ってきました。
アーカイブと、それを解凍して構成を処理するためのロジックの両方を含むスクリプトを生成するのは簡単なようです。しかし、権限/ユーザー関連の問題は、もう少し厄介なようです. (suexec/CGI の場合を除いて) PHP プロセスは、Web サーバーが実行されているユーザーとして実行されている可能性が高いため、実行中のディレクトリに書き込む権限がない可能性があります。ユーザーは、インストール対象のディレクトリのアクセス許可を一時的に変更する方法を知っていますが、単一ファイル インストールの背後にある考え方の一部は、ユーザーがしなければならないことを単純化することであるため、私はこれがあまり好きではありません。さらに重要なのは、インストールが完了すると、ファイルとサブディレクトリが webserver ユーザーによって所有されるように思われることです。
su
これを使用するかsudo
、修正するかについて少し考えました。su/sudo
ただし、発行されたコマンドに続くパスワード プロンプトをナビゲートする方法がわかりません。sudo
また、一部のユーザーに限定される可能性があることも理解しています。
ユーザーいじりやすい所有権とアクセス許可を持つファイルを書き込む PHP インストーラー スクリプトを作成する良い方法はありますか?