你的浏览器禁用了JavaScript, 请开启后刷新浏览器获得更好的体验!
输入关键字进行搜索
搜索:
没有找到相关结果
zkbhj - 凯冰科技站长
赞同来自:
function test(){ $file = '/tmp/std.log'; global $stdout, $stderr; $handle = fopen($file, "a"); if ($handle) { unset($handle); @fclose(STDOUT); @fclose(STDERR); $stdout = fopen($file, "a"); $stderr = fopen($file, "a"); } } test(); print_r($_SERVER);
fclose(STDIN); fclose(STDOUT); fclose(STDERR); $STDIN = fopen('/dev/null', 'r'); $STDOUT = fopen('application.log', 'wb'); $STDERR = fopen('error.log', 'wb');
php -f abc.php (1)> a.log 2> &1
要回复问题请先登录或注册
凯冰科技站长
1 个回复
zkbhj - 凯冰科技站长
赞同来自:
当这个PHP脚本运行时,信息并不会输出在屏幕上,而是输出到了指定的file文件中。
如果你关闭了标准输出,标准错误输出文件描述符,那么你打开的前三个文件描述符将成为新的标准输入、输出、错误的描述符。使用$STDIN, $STDOUT纯粹是障眼法而已, 必须指定为全局变量,否则文件描述符将在函数执行完毕之后被释放。
参考文档:http://stackoverflow.com/quest ... n-php