【发布时间】:2016-10-05 20:08:42
【问题描述】:
我在我的电脑上运行的虚拟服务器(Oracle Virtual Box)实例中的 Ubuntu 系统上运行了这个愚蠢的小测试 PHP 脚本:
<?
error_reporting(E_ALL);
ini_set('display_errors', 1); // show errors
echo "<p>test</p>";
$filename = "andy.txt";
$fh = fopen($filename, 'w') or die('fopen failed');
fwrite($fh, "qwerty") or die('fwrite failed');
fclose($fh);
?>
尽管设置了所有适当的目录和文件权限,但 fwrite 失败。 fopen 工作并创建文件,因此显然启用了写访问,但是 fwrite 死了,并且输出了“fwrite failed”消息(没有显示其他错误输出)。
当我上传到我的真实服务器时,相同的脚本运行良好,所以我完全不知道为什么它不会写入文件;可能是我的虚拟服务器引起了问题。
看起来很可悲,但它让我发疯!谷歌搜索有相当长的时间未能给出答案,所以这里的任何人都可以提供一些见解吗?非常感谢。
【问题讨论】:
-
删除
or die('fwrite failed')部分,看看它会产生什么错误 -
你启用了 SELinux 吗?