Linux PHP fopen“;无法打开流:资源暂时不可用";
编辑:奥斯汀在下面的评论中解决了我的问题。既然这就是答案,我该如何结束这个问题 我有以下简单的代码来打开/写入服务器上的查询文件。我已经检查了权限,甚至为查询文件上的所有用户设置了+rw,但仍然得到了错误 无法打开流:资源暂时不可用 在我的apache错误日志中 我真的不确定我能做些什么来缓解这个问题,想法Linux PHP fopen“;无法打开流:资源暂时不可用";,linux,apache,php,Linux,Apache,Php,编辑:奥斯汀在下面的评论中解决了我的问题。既然这就是答案,我该如何结束这个问题 我有以下简单的代码来打开/写入服务器上的查询文件。我已经检查了权限,甚至为查询文件上的所有用户设置了+rw,但仍然得到了错误 无法打开流:资源暂时不可用 在我的apache错误日志中 我真的不确定我能做些什么来缓解这个问题,想法 <?php // filepaths $queryFile = '../query/query.txt'; // get query $query = $_GET['searchB
<?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);
什么是文件($queryFile)
和可写($queryFile)
揭示了什么?可能您不在正确的工作目录中?这可能只是以下几件事之一:
- PHP进程内存、文件句柄或类似资源不足
- PHP环境自身的限制在某种程度上被超越了
- 该文件本身有一些限制,例如SELinux(安全增强Linux)限制
要确定是哪个文件,请尝试在PHP外部打开该文件。临时更改脚本以打开其他文件。看看脚本还做了什么来验证它是否可能没有文件句柄等。参数'X'
应该是小写的。签出:您确定当前工作目录是您认为的吗?如果在$queryFile
前加上dirname(\uuuuu文件)
,会发生什么情况?文件是否已经存在?根据PHP文档,如果文件已经存在,fopen()
模式x
返回false并生成警告。-文件确实存在,这肯定是问题所在。谢谢大家!@伊森·威利斯:请奥斯汀补充这个作为回答。你也可以回答自己的问题。这不是答案,应该是评论。