易截截图软件、单文件、免安装、纯绿色、仅160KB

BDB官方给PHP提供的接口的程序员真是不负责

刚写完前面的日志,又发现一个Bug:
根据Oracle官方提供的说明:
http://www.oracle.com/technology/documentation/berkeley-db/db/programmer_reference/ext_php.html
class Db4的声明如下:
class Db4 {
function Db4($dbenv = null) {} // create a new Db4 object using
// the optional DbEnv
function open($txn = null, $file = null, $database = null,
$flags = DB_CREATE, $mode = 0) {}
function close() {}
function del($key, $txn = null) {}
function get($key, $txn = null, $flags = 0) {}
function pget($key, &$pkey, $txn = null, $flags = 0) {}
function get_type() {} // returns the stringified database type name
function stat($txn = null, $flags = 0) {} // returns statistics as
// an as
function join($cursor_list, $flags = 0) {}
function sync() {}
function truncate($txn = null, $flags = 0) {}
function cursor($txn = null, flags = 0) {}
}

想测试一下BTREE和HASH方式的性能区别的时候,却怎么也找不到指定数据表类型的参数。有是看php扩展的源代码,居然发现程序是支持的,open的原型应该如下:
function open($txn = null, $file = null, $database = null, $type = DB_BTREE, $flags = DB_CREATE, $mode = 0)

漏的还不是最后一个参数。真够faint的。另外php源码中也没有为DB_BTREE、DB_HASH等类型定义宏。又要自己动手丰衣足食了。
在db4.cpp中增加了声明:
REGISTER_LONG_CONSTANT("DB_BTREE", DB_BTREE, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("DB_HASH", DB_HASH, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("DB_RECNO", DB_RECNO, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("DB_QUEUE", DB_QUEUE, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("DB_UNKNOWN", DB_UNKNOWN, CONST_CS | CONST_PERSISTENT);

另外未在代码中找到设置Cache以及PageSize的函数。看来这个是真的不支持了。


相关文档:

迅速学会PHP加密解密技巧

闲话少说,先将它们打包成一个文件就叫fun.php吧
< ?php  
function passport_encrypt($txt, $key) {  
srand((double)microtime() * 1000000);  
$encrypt_key = md5(rand(0, 32000));  
$ctr = 0;  
$tmp = ''; ......

Berkeley 5.0.21提供的PHP扩展的Bug

今天装了个Berkeley 5.0.21进行测试。
顺利编译了自带的php_db4模块后,进行测试。发现del操作报错:
illegal flag specified to DB->del
<?php
dl('db4.so');
$db = new Db4();
$db->open(null, 'info.db', 'info');
$db->put('key', 'value');
var_dump($db->del('key'));
$db->close();
$db ......

php获取客户端IP地址的几种方法

PHP Code one: //php获取ip的算法
$iipp=$_SERVER["REMOTE_ADDR"];
echo $iipp; PHP Code two: //php获取ip的算法
$user_IP = ($_SERVER["HTTP_VIA"]) ? $_SERVER["HTTP_X_FORWARDED_FOR"] : $_SERVER["REMOTE_ADDR"];
$user_IP = ($user_IP) ? $user_IP : $_SERVER["REMOTE_ADDR"];
echo $ ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号