1

PHP の__HALT_COMPILERについて聞いて以来、私は単一ファイルの PHP インストーラー (Web アプリケーション用のファイルツリーの圧縮アーカイブを含むスクリプト) でいくつかの実験を行ってきました。

アーカイブと、それを解凍して構成を処理するためのロジックの両方を含むスクリプトを生成するのは簡単なようです。しかし、権限/ユーザー関連の問題は、もう少し厄介なようです. (suexec/CGI の場合を除いて) PHP プロセスは、Web サーバーが実行されているユーザーとして実行されている可能性が高いため、実行中のディレクトリに書き込む権限がない可能性があります。ユーザーは、インストール対象のディレクトリのアクセス許可を一時的に変更する方法を知っていますが、単一ファイル インストールの背後にある考え方の一部は、ユーザーがしなければならないことを単純化することであるため、私はこれがあまり好きではありません。さらに重要なのは、インストールが完了すると、ファイルとサブディレクトリが webserver ユーザーによって所有されるように思われることです。

suこれを使用するかsudo、修正するかについて少し考えました。su/sudoただし、発行されたコマンドに続くパスワード プロンプトをナビゲートする方法がわかりません。sudoまた、一部のユーザーに限定される可能性があることも理解しています。

ユーザーいじりやすい所有権とアクセス許可を持つファイルを書き込む PHP インストーラー スクリプトを作成する良い方法はありますか?

4

1 に答える 1

1

ユーザーがいじくり回しやすい所有権と権限を持つファイルを書き込むPHPインストーラースクリプトを作成する良い方法はありますか?

私はこれが1つの方法を使用してうまくやってのけるのを見たことがあります、そしてそれは恐ろしい/面白いです:FTP。FTP拡張機能は通常有効になっていますが、有効になっていない場合は、他にもさまざまなオプションがあります。FTPは通常、正しいユーザーとして動作し、ファイルの所有権とアクセス許可を簡単にします。多くの商用(およびOSS)コンシューマーグレードのPHPパッケージは、FTPトリックを使用して、処理を少しスムーズにします。

他の人が述べているように、オタク、自分のマシン(専用または仮想化)または消費者向け市場以外のものを持っている人をターゲットにしている場合は、PEARまたはPEAR2ディストリビューションが人々を喜ばせます。5.3のみをターゲットにしている場合、pharディストリビューションは完全に適しています。

于 2011-03-31T04:08:07.833 に答える