global $STDOUT, $STDERR;
$handle = fopen(self::$stdoutFile, "a");
if ($handle) {
unset($handle);
@fclose(STDOUT);
@fclose(STDERR);
$STDOUT = fopen(self::$stdoutFile, "a");
$STDERR = fopen(self::$stdoutFile, "a");
} else {
throw new Exception('can not open stdoutFile ' . self::$stdoutFile);
}
源码是这样的,定义了两个全局变量,但是并没有地方往这两个句柄里写入数据啊。
这个问题知道了 PHP关闭标准输出后 会把下一个代开的文件作为标准输出