4

編集:コメントの下のオースティンが私の問題を解決しました。それが答えなので、どうすれば質問を閉じることができますか?

サーバー上のクエリファイルを開く/書き込むための次の簡単なコードがあります。アクセス許可を確認し、クエリ ファイルのすべてのユーザーに対して +rw を設定しましたが、それでもエラーが発生します

ストリームを開けませんでした: リソースが一時的に利用できません

私のApacheエラーログに。

この問題を軽減するために何ができるかよくわかりません。

<?php 
// filepaths
$queryFile = '../query/query.txt';

// get query
$query = $_GET['searchBox'];

// open and write query to query file
$fh = fopen($queryFile, 'X') or die("Can't open file");
fwrite($fh, $query);
fclose($fh);
4

3 に答える 3

3

それはいくつかのことの1つに過ぎません:

  • PHP プロセスがメモリ不足、ファイル ハンドル不足など
  • PHP環境自体の制限を何とか超えている
  • ファイル自体には、SELinux (Security Enhanced Linux) の制限など、いくつかの制限があります。

どちらであるかを判断するには、PHP の外部でファイルを開いてみてください。スクリプトを一時的に変更して、別のファイルを開きます。ファイル ハンドルなどが不足している可能性があるかどうかを検証するために、スクリプトが他に行うことを確認してください。

于 2012-11-19T00:02:13.050 に答える
2

is_file($queryFile)is_writable($queryFile)明らかにしますか?正しい作業ディレクトリにいない可能性がありますか?

于 2012-11-19T00:01:18.447 に答える