我有一个虚拟服务器的实例里面的Ubuntu系统(Oracle虚拟盒)在我的电脑上运行上运行这个愚蠢的小测试PHP脚本:fopen创建文件,那么为什么fwrite失败?
<?
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')'部分以查看其产生的错误 – Clay
您是否启用了SELinux? – NaeiKinDus