分页: 6/112 第一页 上页 1 2 3 4 5 6 7 8 9 10 下页 最后页 [ 显示模式: 摘要 | 列表 ]
Mar 3
其实我不是想说ob_start,而是解决一个nginx的proxy_cache问题。

我使用proxy_cache对根据页面头信息里的有效期和状态页面进行缓存。这个的性能还是很不多。交给php进行控制,而且不需要每个页面都创建。只是第一次访问时才生成缓存。

在长期的运行下,发现一个问题,如果程序在出现超时后,没有返回非200的状态(如500).还是返回200。这样就问题大了。本来proxy_cache就是靠状态来判断,在出错后还是返回200这样我如何是好呢?所以我就想到使用ob_start()进行缓存。但实际上这个是没有作用。

ob_start只是开通缓存的通道。如果出错问题,他还是会返回通道的内容数据,所以不会有影响,只是非正常退出,不返回数据而已。

另外ob_start开启的缓存通道可以多个开通。

所以ob_start不能解决状态问题。最后使用set_error_handler(),设置一个出错回显的函数。直接在函数中针对出错的函数。输出500的头信息。

好了这个就可以解决问题了。

那ob_start还要不要用?我想还是用吧。出错后就不要输出页面的内容了。因为内容未处理完。不如不输出。

<?php
ob_start()
set_error_handler('my_error_handler');

function my_error_handler($errno, $errmsg, $filename, $linenum, $vars){
    header('HTTP/1.1 500 Internal Server Error');
}
$smarty = new Smarty();
$smarty->display();
Dec 31
老规矩,把去年的总结发上来《写在2013年的最后一天
去年的计划是:
引用

1,研究可用于销售的产品
2,读书计划定4本书,每个季度读一本不算过份。
3,山东大学的学习,这个不能拉下。
4,提高管理技巧和与人沟通的能力(这个有点头痛)

Dec 12
在复习的空闲时间,访问了我博客上的友情链接。现在只有少数几个可以打开。
曾经火热的博客,代表着一代人想把自己的生活分享给其它人知道。到现在,已经寥寥无几的几个博客站。

以前有人我老婆问我为什么还要开着这个博客?当时我只回答因为我想开着。今天突然明白,不是我想开着,是因为这还是我曾经的记忆。我想保留着它。

这里确实留着我很多记忆,由我开始写程序,再到我毕业,工作,然后成家。

生活还在继续。

Dec 11
今天很休闲,可以有时间写写日志。
其实也很忙,要准备期末考。

但有一杯咖啡,还不错。
点击在新窗口中浏览此图片
Nov 10
前段时间把服务器从ubuntu 12.04升级到14.04。
升级过程还是没有大问题,但升级完后发现很多程序没有自动启动。
特别常用的svn和httpd不知道怎么了,就是启动不了,就提示标题那句话。

应该是权限或者相关的配置上出错。后一直拖了好几天。今天总算解决了。原因很简单,因为使用了
/usr/sbin/nologin

正常应该是使用
/bin/false

centos使用
/usr/sbin/nologin
而ubuntu则使用

/bin/false
分页: 6/112 第一页 上页 1 2 3 4 5 6 7 8 9 10 下页 最后页 [ 显示模式: 摘要 | 列表 ]