SSブログ

[php]サーバーの所有者権限 [PHP]

クライアント(自PC)では正常に動作していたのだけれども、サーバーにアップしたら、エラーとなってしまった。

例えば、ファイル出力をさせていた処理をサーバーにUPして動作させたら、ファイルが出力されなかった。

このような時は対外、所有者権限(ユーザー権限)の設定に問題があります。

クライアント(自PC)では所有者権限が意識する必要なく、処理を動作させることができますが、レンタルサーバーなどではOSがUNIXであることが、ほとんどなのでファイル出力など、何かを作成する場合には所有者権限を意識しなければいけません。

所有者(ユーザー)権限とは


ユーザー権限.JPG

上の画像のように所有者権限には3つあります。
・オーナー
・グループ
・その他

オーナーはファイルやフォルダの所有者の権限、その他は外部ユーザーの権限となります。

権限には3つあります。
・呼び出し
・書き込み
・実行

よく使用するのがその他(外部ユーザー)の権限変更です。

urlを用いて処理を実行させる場合、その他としてサーバー内のphpは動作します。
この権限に書き込みや実行の権限がない場合、ファイルを出力できないなどの予想外の動作となってしまいます。

そのため、権限は『707』。(呼び出し、書き込み、実行をその他ユーザーに与える)や『705』(呼び出し、実行をその他ユーザーに与える)とする場合が多いです。

見落としがちなこと


・何かファイルを指定フォルダに出力する場合、このフォルダの所有者権限も『707』や『705』に変更しておく必要があります。権限がないとファイル出力などの処理でエラーとなってしまいます。

・オーナー権限にも注意が必要です。それはサーバー上の処理で作成したオブジェクト(ファイルやフォルダ)はサーバー側がオーナーの権限を持ちます。FTPなどでオブジェクト(ファイルやフォルダ)をアップした場合には、FTPでアップしたアカウントユーザーがオーナーとなります。どのような現象が発生するかというとサーバー上で作成されたフォルダ(サーバー権限)にアカウントユーザーがオーナーのphpでファイルの出力を行った場合、ファイル出力でエラーとなってしまいます。これは所有者権限を変更してもエラーは回避できません。あくまでレンタルサーバーなどではアカウントユーザーがオーナー権限のオブジェクト(ファイルやフォルダ)で処理したほうが問題が発生しにくいと思われます。
【PR】
男女ともに完全無料

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。

Copyright(C) WEB WALKER All Rights Reserved.