2009年11月 归档

PostgreSQL 处理 session

| 评论(1)
先来看下自定义数据库处理 session 的执行顺序:
sess_open
sess_read
sess_gc
...其他程序
sess_write || sess_destroy
sess_close

// $domain = '';
//不使用 GET/POST 变量方式
ini_set('session.use_trans_sid', 0);
//设置垃圾回收最大生存时间
ini_set('session.gc_maxlifetime', 1440);
//使用 COOKIE 保存 SESSION ID 的方式
ini_set('session.use_cookies', 0);
//ini_set('session.cookie_path',      '/');
//多主机共享保存 SESSION ID 的 COOKIE
//ini_set('session.cookie_domain', $domain);
//设置用户自定义Session存储
ini_set('session.save_handler', 'user');
ini_set('session.gc_probability', 1);
ini_set('session.gc_divisor', 100);

session_set_save_handler(
	'sess_open',
	'sess_close',
	'sess_read',
	'sess_write',
	'sess_destroy',
	'sess_gc'
);

$SESS_DB = '';
$SESS_DBHOST = '127.0.0.1'; /* database server hostname */
$SESS_DBPORT = 5432; /* database server port */
$SESS_DBNAME = 'DBNAME'; /* database name */
$SESS_DBUSER = 'DBUSER; /* database user */
$SESS_DBPASS = 'DBPASS'; /* database password */
$SESS_LIFE = ini_get('session.gc_maxlifetime');
$SESS_NAME = 'SNAME';


function sess_open($save_path, $session_name){
	global $SESS_DB, $SESS_DBHOST, $SESS_DBPORT, $SESS_DBNAME, $SESS_DBUSER, $SESS_DBPASS;
	$SESS_DB = pg_connect("host=$SESS_DBHOST port=$SESS_DBPORT dbname=$SESS_DBNAME user=$SESS_DBUSER password=$SESS_DBPASS") or die('Could not connect');
	return true;
}

function sess_close(){
	global $SESS_DB;
	if(!empty($SESS_DB)){
		pg_close($SESS_DB);
	}
	return true;
}

function sess_read($key){
	global $SESS_DB, $SESS_LIFE, $uid, $uip;
	自定义
	return false;
}

function sess_write($key, $val){
	global $SESS_DB, $SESS_LIFE, $uid, $ip;
	$expiry = time() + $SESS_LIFE;
	$value = addslashes($val);
	自定义
}

function sess_destroy($key){
	global $SESS_DB;
	自定义
}

function sess_gc($maxlifetime){
	global $SESS_DB;
	自定义
}

FreeBSD8.0 中文桌面

| 评论(6)
FreeBSD 8.0-RELEASE-i386 + IBM ThinkPad X32

下列,添加到 /etc/rc.conf:
hald_enable="YES"
dbus_enable="YES"

PORT安装Xorg,KDE是很慢的,所以用CD来装,没有光驱怎么办?虚拟光驱吧,先下载 8.0-RELEASE-i386-dvd1.iso 到WinXP的分区中,然后虚拟。

# mkdir /mnt/fat32
# mount_msdosfs /dev/ad0s6 /mnt/fat32

fat32、ntfs、cd9660分区中文文件名的问题。以前中文目录有gbfs port支持,现在无需安装gbfs即可实现fat32分区中文文件名的显示。方法是在执行mount_msdosfs时加载-L zh_CN.eucCN的参数,如:
mount_msdosfs -L zh_CN.eucCN /dev/ad0s1 /mnt/disk

对于ntfs及cd9660格式,则用另一个参数-C gbk,如:
mount_cd9660 -C gbk /dev/acd0 /cdrom
mount_ntfs -C gbk /dev/ad0s1 /mnt/win

FreeBSD里的逻辑分区是从ad0s5开始的,因为支持4个主分区,即使只有一个主分区,也是从ad0s5开始的。

# mkdir /mnt/cdrom
# mdconfig -a -t vnode -f /mnt/fat32/8.0-RELEASE-i386-dvd1.iso -u 1
# mount_cd9660 /dev/md1 /mnt/cdrom

# sysinstall

Configuration->packages->选择7 File System(/mnt/cdrom)->进入x11->找xorg->选中->install
Configuration->packages->选择7 File System(/mnt/cdrom)->进入KDE->找kde->选中->install

配置Xorg:
# Xorg -configure
# Xorg -config xorg.conf.new
# cp xorg.conf.new /etc/X11/xorg.conf

# cd /usr/ports/chinese/kcfonts && make install clean
# cd /usr/ports/chinese/arphicttf && make install clean
# cd /usr/ports/chinese/kde4-l10n-zh_CN && make install clean

# cd /usr/ports/www/firefox3 && make install clean
# cd /usr/ports/www/firefox3-i18n && make install clean

# cd /usr/ports/chinese/scim-pinyin/ && make install clean
# ee ~/.cshrc
setenv LANG zh_CN.eucCN
setenv LC_CTYPE zh_CN.eucCN
setenv XMODIFIERS @im=SCIM
setenv GTK_IM_MODULE scim
# echo "exec /usr/local/bin/scim &" >> ~/.xinitrc
# echo "exec /usr/local/kde4/bin/startkde" >> ~/.xinitrc
# startx

这样 FreeBSD8.0 KDE4 中文桌面就安装完毕了。可以和 FreeBSD 7.0 参考,基本差不多。
昨天 freebsd8.0 releases 正式发布,新版本增加了 8.0-RELEASE-i386-memstick.img 文件,在8.0-RC 的版本中就有了。整个安装过程中遇到了一些问题,与大家一起分享。

1、IBM ThinkPad X32 安装FreeBSD的问题

IBM ThinkPad X32 笔记本确实好用,但也有变态的地方。比如 BIOS 的设置基本没用,要通过操作系统来修改属性。这几天一直在 IBM ThinkPad X32 笔记本上装 FreeBSD 但是一直失败,安装程序在预装时,检测到硬盘就死机:
md0:preloaded image </boot> 4423680 bytes at 0xc0d7f830
ad0:152627MB <HTS541616J9AT00> at ata0-master UDM100
基本就在死在上面的位置,解决方法:
在Windows XP下安装ThinkPad Configuration
ThinkVantage->ThinkPad Configuration->Device Bay 设置为Disable
是扩展坞的问题,关闭扩展坞居然在BIOS里找不到设置的项目?所谓人无完人,机无完机!


2、Writing FreeBSD memstick.img to a USB drive in Windows

去下载dd for windows

freebsd8.0 releases 发布了

FreeBSD 的网站上没有变化,还是 freebsd8.0-RC3 。

在 ftp://ftp.freebsd.org/ 上已经有了 freebsd8.0 releases 版本下载,地址: ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/ISO-IMAGES/8.0/ ,发布时间是 2009-11-22 。 ftp://ftp.freebsd.org/ 上比较慢一点,今天中午的时候,看到 8.0-RELEASE-i386-memstick.img 文件还在上传中,现在正在下载,我估计该文件是用于 USB-HDD 安装的,没光驱的用户有福了。

马上用 memstick.img 文件试装一下。其实 freebsd 每一个发行版本都是十分稳定的,用于服务器的没有必要着急升级,只是我们想摆脱 WIN 平台,想用 FreeBSD 的桌面,不然没有必要升级。

《公众之敌》

公众之敌/Public Enemies

我看了30分钟就不看了,看这个评论你就知道怎么回事了,我也懒的写了。

Mr Wang

王炜,现在福建泉州从事 B2C 电子商务。爱好编程,业余时间在 FreeBSD / Apache / PHP / PostgerSQL 平台开发 B/S 架构的免费软件。

Follow Google Buzz Twitter Facebook Sina

收藏王炜's Blog

Bookmark and Share

关于此归档

这里是2009年11月的所有日记,它们按照时间从新到老排序。

上一篇日记2009年10月

下一篇日记2009年12月

首页归档页可以看到最新的日记和所有日记。