[php]サーバーの所有者権限 [PHP]
クライアント(自PC)では正常に動作していたのだけれども、サーバーにアップしたら、エラーとなってしまった。
例えば、ファイル出力をさせていた処理をサーバーにUPして動作させたら、ファイルが出力されなかった。
このような時は対外、所有者権限(ユーザー権限)の設定に問題があります。
クライアント(自PC)では所有者権限が意識する必要なく、処理を動作させることができますが、レンタルサーバーなどではOSがUNIXであることが、ほとんどなのでファイル出力など、何かを作成する場合には所有者権限を意識しなければいけません。
上の画像のように所有者権限には3つあります。
・オーナー
・グループ
・その他
オーナーはファイルやフォルダの所有者の権限、その他は外部ユーザーの権限となります。
権限には3つあります。
・呼び出し
・書き込み
・実行
よく使用するのがその他(外部ユーザー)の権限変更です。
urlを用いて処理を実行させる場合、その他としてサーバー内のphpは動作します。
この権限に書き込みや実行の権限がない場合、ファイルを出力できないなどの予想外の動作となってしまいます。
そのため、権限は『707』。(呼び出し、書き込み、実行をその他ユーザーに与える)や『705』(呼び出し、実行をその他ユーザーに与える)とする場合が多いです。
・何かファイルを指定フォルダに出力する場合、このフォルダの所有者権限も『707』や『705』に変更しておく必要があります。権限がないとファイル出力などの処理でエラーとなってしまいます。
・オーナー権限にも注意が必要です。それはサーバー上の処理で作成したオブジェクト(ファイルやフォルダ)はサーバー側がオーナーの権限を持ちます。FTPなどでオブジェクト(ファイルやフォルダ)をアップした場合には、FTPでアップしたアカウントユーザーがオーナーとなります。どのような現象が発生するかというとサーバー上で作成されたフォルダ(サーバー権限)にアカウントユーザーがオーナーのphpでファイルの出力を行った場合、ファイル出力でエラーとなってしまいます。これは所有者権限を変更してもエラーは回避できません。あくまでレンタルサーバーなどではアカウントユーザーがオーナー権限のオブジェクト(ファイルやフォルダ)で処理したほうが問題が発生しにくいと思われます。
例えば、ファイル出力をさせていた処理をサーバーにUPして動作させたら、ファイルが出力されなかった。
このような時は対外、所有者権限(ユーザー権限)の設定に問題があります。
クライアント(自PC)では所有者権限が意識する必要なく、処理を動作させることができますが、レンタルサーバーなどではOSがUNIXであることが、ほとんどなのでファイル出力など、何かを作成する場合には所有者権限を意識しなければいけません。
所有者(ユーザー)権限とは
上の画像のように所有者権限には3つあります。
・オーナー
・グループ
・その他
オーナーはファイルやフォルダの所有者の権限、その他は外部ユーザーの権限となります。
権限には3つあります。
・呼び出し
・書き込み
・実行
よく使用するのがその他(外部ユーザー)の権限変更です。
urlを用いて処理を実行させる場合、その他としてサーバー内のphpは動作します。
この権限に書き込みや実行の権限がない場合、ファイルを出力できないなどの予想外の動作となってしまいます。
そのため、権限は『707』。(呼び出し、書き込み、実行をその他ユーザーに与える)や『705』(呼び出し、実行をその他ユーザーに与える)とする場合が多いです。
見落としがちなこと
・何かファイルを指定フォルダに出力する場合、このフォルダの所有者権限も『707』や『705』に変更しておく必要があります。権限がないとファイル出力などの処理でエラーとなってしまいます。
・オーナー権限にも注意が必要です。それはサーバー上の処理で作成したオブジェクト(ファイルやフォルダ)はサーバー側がオーナーの権限を持ちます。FTPなどでオブジェクト(ファイルやフォルダ)をアップした場合には、FTPでアップしたアカウントユーザーがオーナーとなります。どのような現象が発生するかというとサーバー上で作成されたフォルダ(サーバー権限)にアカウントユーザーがオーナーのphpでファイルの出力を行った場合、ファイル出力でエラーとなってしまいます。これは所有者権限を変更してもエラーは回避できません。あくまでレンタルサーバーなどではアカウントユーザーがオーナー権限のオブジェクト(ファイルやフォルダ)で処理したほうが問題が発生しにくいと思われます。
2012-09-08 19:57
【PR】