PHP所有版本

Unsupported Historical Releases

We have collected all the official information and code available for past PHP releases. You can find more details on the current release on our downloads page. Please note that older releases are listed for archival purposes only, and they are no longer supported.

Note to Windows users: Only PHP 5.3+ versions are available as both VC6 and VC9 builds. All versions prior were built using VC6.

5.5.9

5.5.8

5.5.7

5.5.6

5.5.5

5.5.4

5.5.3

5.5.2

5.5.1

5.5.0

5.4.25

5.4.24

5.4.23

5.4.22

5.4.21

5.4.20

5.4.19

5.4.18

5.4.17

5.4.16

5.4.15

5.4.14

5.4.13

5.4.12

5.4.11

5.4.10

5.4.9

5.4.8

5.4.7

5.4.6

5.4.5

5.4.4

5.4.3

5.4.2

5.4.1

5.4.0

5.3.27

5.3.26

5.3.25

5.3.24

5.3.23

5.3.22

5.3.21

5.3.20

5.3.19

5.3.18

5.3.17

5.3.16

5.3.15

5.3.14

5.3.13

5.3.12

5.3.11

5.3.10

5.3.9

5.3.8

5.3.7

5.3.6

5.3.5

5.3.4

5.2.17

5.2.16

5.2.15

5.3.3

5.2.14

5.3.2

5.2.13

5.3.1

5.2.12

5.2.11

5.3.0

5.2.10

5.2.9

5.2.8

5.2.6

5.2.5

5.2.4

5.2.3

5.2.2

5.2.1

5.2.0

5.1.6

5.1.5

5.1.4

5.1.3

5.1.2

5.1.1

5.1.0

5.0.5

5.0.4

5.0.3

5.0.2

5.0.1

5.0.0


Support for PHP 4 has been discontinued since 2007-12-31. Please consider upgrading to PHP 5.

4.4.9

4.4.8

4.4.7

4.4.6

4.4.5

4.4.4

4.4.3

4.4.2

4.4.1

4.4.0

4.3.11

4.3.10

4.3.9

4.3.8

4.3.7

4.3.6

4.3.5

4.3.4

4.3.3

4.3.2

4.3.1

4.3.0

4.2.3

4.2.2

4.2.1

4.2.0

4.1.2

4.1.1

4.1.0

4.0.6

4.0.5

4.0.4

4.0.3

4.0.2

4.0.1

4.0.0


3.0.x

php对mongodb的扩展(初出茅庐)_php技巧

http://blog.leeio.com/index.php/index/view/1226.html
php对mongodb的扩展(初出茅庐)_php技巧
我们的php mongodb也能做mysql、sqlserver能做的几乎所有功能,本文将详细介绍
一、操作符
操作符相信大家肯定都知道了,就是等于、大于、小于、不等于、大于等于、小于等于,但是在mongodb里不能直接使用这些操作符。在mongodb里的操作符是这样表示的:
(1) $gt > (大于)
(2) $lt  < (小于)
(3) $gte  >= (大于等于)
(4) $lt  <= (小于等于)
(5) $ne  != (不等于)
(6) $in  in (包含)
(7) $nin  not in (不包含)
(8) $exists  exist (字段是否存在)
(9) $inc  对一个数字字段field增加value
(10) $set  就是相当于sql的set field = value
(11) $unset  就是删除字段
(12) $push  把value追加到field里面去,field一定要是数组类型才行,如果field不存在,会新增一个数组类型加进去
(13) $pushAll  同$push,只是一次可以追加多个值到一个数组字段内
(14) $addToSet  增加一个值到数组内,而且只有当这个值不在数组内才增加。
(15) $pop  删除最后一个值:{ $pop : { field : 1 } }删除第一个值:{ $pop : { field : -1 } }注意,只能删除一个值,也就是说只能用1或-1,而不能用2或-2来删除两条。mongodb 1.1及以后的版本才可以用
(16) $pull  从数组field内删除一个等于value值
(17) $pullAll  同$pull,可以一次删除数组内的多个值
(18) $ 操作符  是他自己的意思,代表按条件找出的数组里面某项他自己。这个比较坳口,就不说了。
二、CURD 增、改、读、删
增加
复制代码 代码如下:
db.collection->insert({‘name’ => ‘caleng’, ’email’ => ‘admin#admin.com’});
是不是灰常简单呀,对就是这么简单,它没有字段的限制,你可以随意起名,并插入数据
修改
复制代码 代码如下:
db.collection.update( { “count” : { $gt : 1 } } , { $set : { “test2″ : “OK”} } ); 只更新了第一条大于1记录
db.collection.update( { “count” : { $gt : 3 } } , { $set : { “test2″ : “OK”} },false,true ); 大于3的记录 全更新了
db.collection.update( { “count” : { $gt : 4 } } , { $set : { “test5″ : “OK”} },true,false ); 大于4的记录 只加进去了第一条
db.collection.update( { “count” : { $gt : 5 } } , { $set : { “test5″ : “OK”} },true,true ); 大于5的记录 全加进去
查询
复制代码 代码如下:
db.collection.find(array(‘name’ => ‘bailing’), array(’email’=>’email@qq.com’))
db.collection.findOne(array(‘name’ => ‘bailing’), array(’email”email@qq.com’))
大家可以看到查询我用了两种不同的写法,这是为什么,其实这跟做菜是一样的,放不同的调料,炒出的菜是不同的味道。下面给大家说一下,这两种调料的不同作用。
findOne()只返回一个文档对象,find()返回一个集合列表。
也就是说比如,我们只想查某一条特定数据的详细信息的话,我们就可以用findOne();
如果想查询某一组信息,比如说一个新闻列表的时候,我们就可以作用find();
那么我想大家这时一定会想到我想对这一个列表排序呢,no problem mongodb会为您全心全意服务
复制代码 代码如下:
db.collection.find().sort({age:1}); //按照age正序排列
db.collection.find().sort({age:-1}); //按照age倒序排列
db.collection.count(); //得到数据总数
db.collection.limit(1); //取数据的开始位置
db.collection.skip(10); //取数据的结束位置
//这样我们就实现了一个取10条数据,并排序的操作。
删除
删除有两个操作 remove()和drop()
复制代码 代码如下:
db.collection.remove({“name”,’jerry’}) //删除特定数据
db.collection.drop() //删除集合内的所有数据
distinct操作
复制代码 代码如下:
db.user.distinct(‘name’, {‘age': {$lt : 20}})
噢!一口气写太多了,大家看太多也不易消化。今天就到这里吧,明天接着写php对mongodb的操作,尽请期待哦!不能再写了,不然的话明天会变熊猫。good night. have a good dream.

Yii框架自带缓存的使用方法

Yii框架自带缓存的使用方法

Yii的自带缓存都继承CCache 类, 在使用上基本没有区别
缓存基础类 CCache 提供了两个最常用的方法:set() 和 get()。
要在缓存中存储变量 $value,我们选择一个唯一 ID 并调用 set() 来存储它:

Yii::app()->cache->set($id, $value);

被缓存的数据会一直保留在缓存中,直到因一些缓存策略而被删除(比如缓存空间满了,删除最旧的数据)。要改变这一行为,我们还可以在调用 set() 时加一个过期参数,这样数据过一段时间就会自动从缓存中清除。

// 在缓存中保留该值最多 30 秒

Yii::app()->cache->set($id, $value, 30);

当我们稍后需要访问该变量时(不管是不是同一 Web 请求),我们调用 get() (传入 ID)来从缓存中获取它。如果返回值为 false,说明该缓存不可用,需要我们重新生成它。

$value=Yii::app()->cache->get($id);
if($value===false)
{
// 因为在缓存中没找到,重新生成 $value
// 再缓存一下以备下次使用
// Yii::app()->cache->set($id,$value);
}

为一个要缓存的变量选择 ID 时,确保该 ID 在应用中是唯一的。不必保证 ID 在跨应用的情况下保证唯一,因为缓存组件有足够的智能来区分不同应用的缓存 ID。
要从缓存中删除一个缓存值,调用 delete();要清空所有缓存,调用 flush()。调用 flush() 时要非常小心,因为它会把其它应用的缓存也清空。
提示: 因为 CCache 实现了 ArrayAccess 接口,可以像数组一样使用缓存组件。例如:

$cache=Yii::app()->cache;
$cache[‘var1′]=$value1;  // 相当于: $cache->set(‘var1′,$value1);
$value2=$cache[‘var2′];  // 相当于: $value2=$cache->get(‘var2′);

要使用这些缓存也很简单,只要服务器支持, 然后通进简单的修改配置文件即可使用

一. Memcache 的使用
1. 编辑配置文件config/main.php 添加memcache配置

array(
‘components’=>array(
‘memcache’=>array(
‘class’=>’ system.caching.CMemCache’,
‘servers’=>array(
array(
‘host’=>’server1′,
‘port’=>11211,
‘weight’=>60,
),
array(
‘host’=>’server2′,
‘port’=>11211,
‘weight’=>40,
),
),
),
),
)

2. 在框架中的使用

Yii::app()->memcache ->set($key, $value, $expire);
Yii::app()->memcache ->get($key);
Yii::app()->memcache ->deleteValue($key);

二. 数据库缓存的使用
1. 编辑配置文件config/main.php 添加dbcache配置

return array(
……
‘components’=>array(
……
‘dbcache’=>array(
‘class’=>’ system.caching.CDbCache’,
),
‘db’=>array(
‘class’=>’system.db.CDbConnection’,
‘connectionString’=>’sqlite:/wwwroot/blog/protected/data/blog.db’,
‘schemaCachingDuration’=>3600,
),
),
);

2. 在框架中的使用

Yii::app()->dbcache ->set($key, $value, $expire);
Yii::app()->dbcache ->get($key);

三. 文件缓存的使用
1. 编辑配置文件config/main.php 添加dbcache配置

// application components
‘components’=>array(
‘filecache’=>array(
‘class’=>’system.caching.CFileCache’,
//我们使用CFileCache实现缓存,缓存文件存放在runtime文件夹中
‘directoryLevel’=>’2′,   //缓存文件的目录深度
),
),

2. 在框架中的使用

Yii::app()->filecache ->set($key, $value, $expire);
Yii::app()->filecache ->get($key);

四.    APC使用
1.    编辑配置文件config/main.php 添加dbcache配置

‘components’=>array(
‘class’ => ‘system.caching.CApcCache’,
),