phpのfopenで質問です。permission deniedが出るときと出ない時があるのですが、可能性として、どんなことが考えられますでしょうか?

常にpermission deniedが出るのであれば、ファイルやフォルダに対するアクセス権がそもそも無いのだと思うのですが、たまにpermission deniedが出るくらいなので、原因が分からず困っています。
これだけだと原因究明に対する情報が足りないようであれば、他にどんな情報があれば良いか教えてください。

回答の条件
  • 1人1回まで
  • 13歳以上
  • 登録:2019/01/11 11:15:05
  • 終了:2019/01/18 11:17:56

ベストアンサー

id:pyopyopyo No.1

pyopyopyo回答回数372ベストアンサー獲得回数972019/01/16 00:44:41

ポイント99pt

情報が少ないので当てずっぽうですが
1) そのファイルを開く処理は一箇所だけですか?
2) 別の処理で一時的にパーミッションを変えるようなコードが入っていませんか?
3) ディスクの空き容量は十分にありますか?
4) サーバー上で,ファイルを開きすぎていませんか?
あたりは確認されましたか?

1)2)については
別の処理でも,そのファイルを読み書きするようになっている場合は
排他処理の代わりに一時的にファイルのパーミッションを変更する方法があります
(実際には,排他処理のつもりで書かれた,排他処理になっていないバグのあるプログラムの場合がほとんどですが)

cronでの別処理とかがあるなら,そのコードもチェックした方がいいとおもいます

3)4) については ディスクがパンクしている場合,システム上でファイルを開きすぎている場合
などに,OSがpermission denied のエラーを出す場合があります


OSの種類も,サーバーの種類もわからないのですが
とりあえず思いついたことを書きました.参考になれば幸いです.

id:MrB

ありがとうございます。
OSはwindowsになります。
処理は1ヶ所で同じ処理ですが、関数にしてるので、複数の場所から呼ばれる可能性はあります。
ただ、パーミッション周りを変更するようなコードは全く書いてはいないです。
3)は問題なさそうですが、
4)は可能性としてはありそうなのですが、どうやって調べたら良いでしょうか?

2019/01/16 08:42:31

その他の回答(1件)

id:pyopyopyo No.1

pyopyopyo回答回数372ベストアンサー獲得回数972019/01/16 00:44:41ここでベストアンサー

ポイント99pt

情報が少ないので当てずっぽうですが
1) そのファイルを開く処理は一箇所だけですか?
2) 別の処理で一時的にパーミッションを変えるようなコードが入っていませんか?
3) ディスクの空き容量は十分にありますか?
4) サーバー上で,ファイルを開きすぎていませんか?
あたりは確認されましたか?

1)2)については
別の処理でも,そのファイルを読み書きするようになっている場合は
排他処理の代わりに一時的にファイルのパーミッションを変更する方法があります
(実際には,排他処理のつもりで書かれた,排他処理になっていないバグのあるプログラムの場合がほとんどですが)

cronでの別処理とかがあるなら,そのコードもチェックした方がいいとおもいます

3)4) については ディスクがパンクしている場合,システム上でファイルを開きすぎている場合
などに,OSがpermission denied のエラーを出す場合があります


OSの種類も,サーバーの種類もわからないのですが
とりあえず思いついたことを書きました.参考になれば幸いです.

id:MrB

ありがとうございます。
OSはwindowsになります。
処理は1ヶ所で同じ処理ですが、関数にしてるので、複数の場所から呼ばれる可能性はあります。
ただ、パーミッション周りを変更するようなコードは全く書いてはいないです。
3)は問題なさそうですが、
4)は可能性としてはありそうなのですが、どうやって調べたら良いでしょうか?

2019/01/16 08:42:31
id:kaoato No.2

kaoato回答回数186ベストアンサー獲得回数732019/01/18 06:33:05

ポイント1pt

>OSはwindowsになります。

・ファイル名が、Windowsで使えない文字、文字列が入ってる
Windowsでは予約デバイス名が入ってるファイル名は使えなかったと思う

・パスの指定が、Windows形式でない

id:MrB

ありがとうございます。
質問にも書いてますが、エラーが出ないことのほうが多いので、上記ではないかとは思います。
(普通は問題なくて、ごくまれにエラーになる感じです。)

2019/01/18 11:16:18
id:MrB

質問者から

MrB2019/01/28 15:57:25

まだ解決はできてませんが、終了時間になりましたので、一旦終了しておきます。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません