気軽に読めるPHP入門書・PHPスクリプトが動かないときの原因と対策などを紹介します。

  1. PHPエラーの原因と対策
  2. 13 view

「Warning: fopen … failed to open stream: Permission denied … 」と表示されるとき

「Warning: fopen(answer.csv) [function.fopen]: failed to open stream: Permission denied … 」というエラーメッセージは、ファイルへの書き込み権限がないことを示しています。

FTPソフトでアップロードしたファイルの属性を参照して、ファイルに書き込み権限(+読み込み権限)を与えることで解決します。以下は典型的な設定の例です。レンタルサーバーによっては推奨または禁止される設定値もあるので、あくまで参考にとどめてください。

ファイルに書き込み権限を付与する

ファイルに書き込み権限を付与する

ファイルに「読込」「書込」権限を与えてもPermission deniedエラーになる場合、以下の原因も疑ってみてください。

ファイルを動的に作成するプログラムの場合

アンケートや掲示板などで、書き込み先のデータファイルが存在しない場合は自動で新規作成するという仕組みになっている場合は、ディレクトリにアクセスしてファイルを書き込むための権限も与える必要があります。

それには、対象のディレクトリの属性で「実行」をチェックします。実行とは、プログラムを実行する権限や、ディレクトリにアクセスする権限などを指します。以下は典型的な設定例です。

ディレクトリにアクセスできるように「実行」をチェック

ディレクトリにアクセスできるように「実行」をチェック

ディレクトリ内にファイルを書き込むようなプログラムを実行したい場合は、「読込(呼出)」と「書込」だけではなく「実行」も必要ということです。

面倒だからパーミッションを「777」にしてしまおうと思った方は、危険なのでやめましょう。レンタルサーバーによっては「777」に設定することが禁止されている場合もあります。

PHPエラーの原因と対策の最近記事

  1. PHPの関数や変数の前にあるアットマークの意味は?

  2. 「http:// wrapper is disabled in the server co…

  3. php.iniの場所

  4. 「Warning: array_key_exists()」と表示されるとき

  5. 「Warning: A non-numeric value encountered」と表示…

関連記事

PAGE TOP