自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 请手动释放你的资源(Please release resources manually)

在PHP5.2以前, PHP使用引用计数(Reference count)来做资源管理, 当一个zval的引用计数为0的时候, 它就会被释放. 虽然存在循环引用(Cycle reference), 但这样的设计对于开发Web脚本来说, 没什么问题, 因为Web脚本的特点和它追求的目标就是执行时间短, 不会长期运行. 对于循环引用造成的资源泄露, 会在请求结束时释放掉. 也就是说, 请求结束时释放资源

2017-12-22 11:19:48 552 1

原创 PHP 让Json更懂中文(JSON_UNESCAPED_UNICODE)

我们知道, 用PHP的json_encode来处理中文的时候, 中文都会被编码, 变成不可读的, 类似”\u***”的格式, 还会在一定程度上增加传输的数据量.echo json_encode("中文");//"\u4e2d\u6587"这就让我们这些在天朝做开发的同学, 很是头疼, 有的时候还不得不自己写json_encode.而在PHP5.4, 这个问题终于得以解决, Json新增了一个选项:

2017-12-18 11:59:58 1013

转载 PHP 如何设置一个严格30分钟过期的SESSION

第一种回答那么, 最常见的一种回答是: 设置Session的过期时间, 也就是session.gc_maxlifetime, 这种回答是不正确的, 原因如下:首先, 这个PHP是用一定的概率来运行session的gc的, 也就是session.gc_probability和session.gc_divisor(介绍参看 深入理解PHP原理之Session Gc的一个小概率Notice), 这个默认

2017-12-18 11:23:25 6932

原创 PHP 使用exit(-1)为什么得到255退出码

string exec ( string $command [, array &$output [, int &$return_var ]] )调用一个程序, 程序退出-1, 但是PHP得到的为什么是255?这个问题简单的说, 是因为exit或者main函数中的return, 只能使用0~255之间的值. -1 的unsigned值就是255.那么复杂点的说呢?我们知道, 在Shell中, 运行一个

2017-12-18 11:01:02 3218

原创 让PHP更快的提供文件下载

一般来说, 我们可以通过直接让URL指向一个位于Document Root下面的文件, 来引导用户下载文件.但是, 这样做, 就没办法做一些统计, 权限检查, 等等的工作. 于是, 很多时候, 我们采用让PHP来做转发, 为用户提供文件下载. $file = "/tmp/dummy.tar.gz"; header("Content-type: application/octet-str

2017-12-18 10:17:01 312

原创 字符截取 支持UTF8/GBK

function _strcut($string, $length,$dot = '...') { $string = trim($string); if($length && strlen($string) > $length) { //截断字符 $wordscut = '';

2017-12-14 11:43:22 364

原创 抓取分支

多人协作时,大家都会往master和dev分支上推送各自的修改。现在,模拟一个你的小伙伴,可以在另一台电脑(注意要把SSH Key添加到GitHub)或者同一台电脑的另一个目录下克隆:$ git clone git@github.com:michaelliao/learngit.gitCloning into 'learngit'...remote: Counting objects: 46,

2017-12-13 11:43:33 359

原创 分支管理策略

通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息。如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息。下面我们实战一下–no-ff方式的git merge:首先,仍然创建并切换dev分支:$ git checkout -b devSwitched to a n

2017-12-13 11:10:04 360

原创 Git忽略规则及.gitignore规则不生效的解决办法

在git中如果想忽略掉某个文件,不让这个文件提交到版本库中,可以使用修改根目录中 .gitignore 文件的方法(如无,则需自己手工建立此文件)。这个文件每一行保存了一个匹配的规则例如: # 此为注释 – 将被 Git 忽略*.a # 忽略所有 .a 结尾的文件!lib.a # 但 lib.a 除外/TODO # 仅仅忽略项目根目录下的 TODO 文件,不包括 su

2017-12-08 17:51:13 237

原创 python为什么需要reload(sys)后设置编码

python在安装时,默认的编码是ascii,当程序中出现非ascii编码时,python的处理常常会报这样的错UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position 1: ordinal not in range(128)python没办法处理非ascii编码的,此时需要自己设置python的默认编码,一般设置为ut

2017-12-06 18:16:29 527

原创 PHP 终端设备判断

function _is_mobile() { $user_agent = $_SERVER['HTTP_USER_AGENT']; $mobile_agents = Array("240x320","acer","acoon","acs-","abacho","ahong","airness","alcatel","amoi","android","anywhereyougo.co

2017-12-04 18:32:32 687

原创 ubuntu 16.04 设置固定IP

配置固定IPsudo vim /etc/network/interfaces# 修改打开的文件 The primary network interface下的配置auto enp0s3# 设置静态方式iface enp0s3 inet static# 设置IP地址address 192.168.0.88# 设置子网掩码netmask 255.255.255.0# 设置网关地址g

2017-12-01 14:37:52 3289 3

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除