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

它只能是以下几件事之一:

  • PHP 进程内存不足、文件句柄不足或类似情况
  • 不知何故超出了 PHP 环境自身的限制
  • 该文件本身有一些限制,例如 SELinux(安全增强型 Linux)限制。

要确定它是什么,请尝试在 PHP 之外打开该文件。临时更改脚本以打开不同的文件。查看脚本还做了什么来验证它是否可能用完文件句柄等。

于 2012-11-19T00:02:13.050 回答
2

is_file($queryFile)is_writable($queryFile)揭示什么?也许您不在正确的工作目录中?

于 2012-11-19T00:01:18.447 回答
-1

参数'X'应为小写。

于 2019-06-18T18:52:14.773 回答