PHP SESSION原理
我们知道,session是在服务器端保持用户会话数据的一种方法,对应的cookie是在客户端保持用户数据。HTTP协议是一种无状态协议,服务器响应完之后就失去了与浏览器的联系,最早,Netscape将cookie引入浏览器,使得数据可以客户端跨页面交换,那么服务器是如何记住众多用户的会话数据呢?
首先要将客户端和服务器端建立一一联系,每个客户端都得有一个唯一标识,这样服务器才能识别出来。
【php】 【服务器】 【mysql】 【加密】 …
Apr
11
2014
Mar
13
2014
Mar
11
2014
Feb
12
2014
Feb
12
2014
Feb
10
2014
评: PHP foreach 是如何遍历数组的
在qq群中看到下面的文章:
http://www.blogkun.com/php/2014/02/08/how-foreach-work/
作者在文中介绍了array在PHP中的结构(zval):HashTable.
然后罗列了若干test case,从不同角度去理解foreach的机制:
reset();
while (get_current_data(&data) == SUCCESS) {
move_forward();
code();
}
|
结论是:
1) 数组的refcount__gc为1,is_ref__gc为0,那么foreach并不会复制zval; 2) 数组的refcount__gc>1,is_ref__gc为0,那么foreach将会复制zval; 3) 数组的is_ref__gc为1,那么foreach并不会复制zval;
看完文章之后,我对结论 2) 提出了更深层次的疑问,也就是作者文中的[附加的一个问题]:
…[获取更多]
Jan
27
2014
Nov
27
2013
Oct
27
2013
Aug
22
2013
php file_get_contents 读取大文件出错
Note: string can be as large as 2GB.
file_get_contents如果正常返回,会把文件内容储存到某个字符串中,所以它不应该返回超过2G长度的字符串。
如果文件内容超过2G,不加offset和maxlen调用file_get_contents的话,肯定会返回false,
在64位机上面啥错都不报啊,我晕:
PHP 5.4.16 (cli) (built: Jun 7 2013 14:32:19)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
with XCache v3.0.2, Copyright (c) 2005-2013, by mOo
with XCache Optimizer v3.0.2, Copyright (c) 2005-2013, by mOo
with XCache Cacher v3.0.2, Copyright (c) 2005-2013, by mOo
with XCache Coverager v3.0.2, Copyright (c) 2005-2013, by mOo
|
回到32位机,报这样的错:
PHP 5.3.10 (cli) (built: Jul 7 2012 12:30:39)
Copyright …