当我运行时:
$file = tmpfile();
$name = stream_get_meta_data($file)['uri'];
$nfile = new SplFileObject($name);
var_dump($nfile);
从命令行,它按预期工作 - 创建一个临时文件,并转储有关它的详细信息。但是,当我通过apache运行它时,$ nfile是一个空对象 - 它似乎无法通过路径访问该文件。为什么是这样?我已经确认它正在创建一个文件,我可以在文件系统中看到临时文件,所以只是php无法访问它。