您的位置:首页 > 编程语言 > PHP开发

php生产环境 用 php://stdout 进行 安全 高效 调试

2015-11-06 13:18 483 查看
本文原地址: http://blog.csdn.net/zhangrui_fslib_org/article/details/49681607
转载请注明出处,有疑问或错误请发邮件到zhangrui@fslib.org

延伸阅读:php-fpm 生产环境 调试信息 日志系统 设计 支持 thinkphp
/article/9885635.html

在开发时调试php的方法多样.而对于生产环境调试即要考虑性能也要考虑安全,以下列举出常见的方式及说明弊端:

1,写日志,用fopen打开一个文件,写日志,这个方法简单高效,但对多用户同时访问时,会用竞争问题,而且消耗磁盘io,文件大小也不易控制;

2,写数据库,此方法解决了竞争问题问题,但增加了数据库的负担;

我在看php新版本的新功能时,从5.6版本后内置支持php://stdout,这是一个内存对象,而且输出直接打印在服务器命令行,用户完全无法察觉;

以下是我的测试代码

<!DOCTYPE html>

<html>

<body>

<h1>我的第一张 PHP 页面</h1>

<?php

echo "Hello World!";

$fd = fopen('php://stdout', 'w');

if ($fd) {

fwrite($fd, "7777888");

fwrite($fd, "\n");

fclose($fd);

}

?>

</body>

</html>

我用管道捕捉php-cgi的输出,刷新多次,结果如下

7777888

7777888

7777888

7777888

7777888






内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: