システムで nginx に設(shè)定された umask は 002 ですが、Web 上で php を使用して umask 値を取得すると 022 に変更されるのはなぜですか?どこで設(shè)定できるのでしょうか?詳しい友人にアドバイスを求めてください。よろしくお願(yuàn)いします。
備考: umask は、対応する nginx ユーザーの 002 に設(shè)定されています。サーバーで nginx ユーザーに切り替えると、ダイレクト タッチまたは mkdir で作成されたファイルとフォルダーの権限は正しくなりますが、 Web 上の php 経由 スクリプトの作成に問題があります。umask を確認(rèn)したところ、022 になりました。問題はここ にあるはずです (この分析の nginx に関するすべてに問題があります)意味不明)
New: グローバル umask は 002 に設(shè)定され、Web 內(nèi)の対応するユーザー (この Web に対応するユーザーは /etc/php-fpm.conf で設(shè)定したユーザーです) も設(shè)定されました。サーバー內(nèi)のファイルとフォルダーのアクセス許可を設(shè)定して直接タッチするか、mkdir を作成するのは正しいです。
このようなやや関連性のある情報(bào)を見つけましたが、システムの /etc/init/ に php5-fpm.conf ファイルがありません。これを /etc/nginx/php5-conf に追加すると、umask が要求されます。 /rtc で直接 /init/ の下にこのファイルを作成し、このテーマのテキスト変更に対応するパラメータを追加しても効果はありません (http://stackoverflow.com/questions/21248904/how-to-trace) -where-php5-fpm-umask-settings -are-coming-from-on-ubuntu)
最後に、php-fpm はシステムを system user
として呼び出します。 nginx の代わりに。 nginx 設(shè)定を変更しても効果はありません。
/etc/php-fpmのインストールが異なるため、設(shè)定ファイルの場(chǎng)所も異なります。 php-fpm 設(shè)定ファイルは自分で見つける必要があります。
php-fpmプロセスステータスを表示することで設(shè)定ファイルを確認(rèn)できます
ps aux | grep php-fpm
現(xiàn)在php-fpmで使用されている設(shè)定ファイルが確認(rèn)できます。
設(shè)定ファイルを任意に作成した場(chǎng)合、プログラムによって読み込まれて有効になることはありません。
これらを見つけてもう一度試してください。幸運(yùn)を。
率直に言うと、七牛
, 又拍
, 亞馬遜S3
のような非常に便利なストレージ クラウドがあるのに、なぜ自分でサーバーにファイルをアップロードする必要があるのでしょうか?
(中小企業(yè)や個(gè)人は依然として靜的リソース管理において劣悪な方法を使用しており、本當(dāng)に時(shí)代に追いついていない)
Dangren サードパーティのクラウド ストレージは完璧ではなく、すべてのユーザー グループに適していますが、個(gè)人または中小規(guī)模のグループに適しています。試してみる価値は十分にあります。