電子書籍の厳選無料作品が豊富!

drupalを利用してサイトを作成しようとしております。

インストールまでは終わったのですが、どのページを表示しても以下のようなエラーが出てきます。

----------
* Warning: file_put_contents(temporary://filezqqgJ1) [function.file-put-contents]: failed to open stream: "DrupalTemporaryStreamWrapper::stream_open" call failed in file_unmanaged_save_data() (line 1847 of /home/sites/*****.jp/users/************/web/public_html/includes/file.inc).
* ファイルを作成できませんでした。
* Warning: file_put_contents(temporary://fileBtkpQw) [function.file-put-contents]: failed to open stream: "DrupalTemporaryStreamWrapper::stream_open" call failed in file_unmanaged_save_data() (line 1847 of /home/sites/*****.jp/users/************/web/public_html/includes/file.inc).
* ファイルを作成できませんでした。
----------

↑このエラーの意味と対処法をお分かりの方がいましたら、教えていただけないでしょうか。

よろしくお願いいたします。

A 回答 (2件)

回答ありがとうございます。



Q.エラーの内容的にpublic_html/includes/file.incを作成しようとしているという理解でよろしいでしょうか。

  ⇒違います、public_html/includes/file.inc はプログラムが存在するフォルダとファイル名であり、
   エラーが出た際に実行中だった箇所が、プログラムfile.inc(インクルードファイル)
   の1847行目だったということです。

   逆に言えば、public_html/includes/ は、ほぼ100%焦点となるフォルダではありません。

   エラー内容は、「一時ファイル作成の書き込みエラー」と言っています。
   「一時ファイル作成」はどのディレクトリに対して行われるのかを追求する必要があり、
   追求が出来れば、ほぼ答えは出たも同然です。

   「temporary://filezqqgJ1」は、実際には、どこかのフォルダにfilezqqgJ1というファイルを
   一時ファイルを作成しようとしたのでしょうが、
   そこが存在しないか、パーミッション不足だった可能性が高いということです。
   (詳細なエラーを出していないので、具体的なことは明確ではありませんが、通常ならばそうです。)

   それは基本的には「tmp」フォルダなり「temp」フォルダなりの名前で行われ、
   使用したレンタルサーバー等によっては、デフォルトのインストールでは作成されなかったり、
   パーミッションが不足した状態でインストールのセッティングが終了してしまう、
   ということです。

   確率は低いですが、プログラム自体が特定のバージョンで、バグっていたということも
   無くは無いでしょう。

   Drupalコミュニティーを見ると、このあたりに、一時ファイルがどこに作られるのかの
   ヒントとなる記述がありそうです。
   http://drupal.org/node/1019470


   これ以上正確な情報は、DrupalコミュニティやDrupalに専用のスレッドなどを探し
   質問を投げられた方が良いと思います。
    • good
    • 0
この回答へのお礼

ご丁寧にありがとうございました!!
sites\default\files\tmpを作成し、パーミッションを777に変更したら解決しました。

お礼日時:2011/05/07 00:45

Drupal自体は使ったことがないですが、WEBサーバーアプリの特性から考えて、


以下のどれかの確率が高いのでは?

ちなみにエラー自体は、ソースが間違っているのではなく、何らかのファイルを書き出しする際に
「一時ファイル」を書き込めないというものです。

原因としては一般論から以下のどれかの確率が高いです。

1)ファイルの書き込に先のフォルダーが無い
 必要なディレクトリを手作業で作らなければならないが、無い(作っていない)
 ソフトをインストール、もしくはFTPでアップロードしただけではダメで、
 そのあと、特定のフォルダーを複数作らなければならない。
 エラーの特性から考えて、tmp, などの名前のフォルダが必要なのではないかと疑われる。

2)書き込み先のフォルダーはあるが、書き込みの許可が無い
 1)のフォルダーがすでに存在していた場合、パーミッションの設定が間違っている可能性が高い。
 エラーの特性から考えて、パーミッションに書き込み許可が必要であるが、
 書き込み許可のレベルが不足している。

3)フォルダーも許可もあるが、htaccessによって、ブロックしている。
 2)も適切である場合、2)の行為を阻害する要因となる、.htaccessファイルが、
 該当の(tmpなど)のフォルダーの中に入っている。
 これを除外、もしくはhtacessの内容を書き換えることによって、解決する。


このあたりではないかと思います。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

エラーの内容的にpublic_html/includes/file.incを作成しようとしているという理解でよろしいでしょうか。

1)エラーの中にあるincludesフォルダですが、実際に存在します。ちなみにincludeフォルダの中にfile.incももとから存在しています。

2)パーミッションを777に変更しましたが、状況は変わりませんでした。

3).htaccessはincludeフォルダの1つ上の階層に存在します。ですが、どのように変更していいかわからず困っています。。。書き込みを制御するのは一般的にはどういった記述を変更すればいいかわかりますでしょうか?

度々お手数をおかけいたしますが、よろしくお願いいたします。

お礼日時:2011/05/05 21:53

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!