关于PHP的Session过期问题

在PHP开发过程中,可能有朋友经常会遇到Session所产生的文件无法自动清除的问题,其实并非真的无法清除,而是有一个概率问题,只要你的站点访问量足够大,那些文件就可以自动被清除掉。如果访问量比较少,又看那些文件不顺眼的话,只要在php.ini里的配置一下即可实现Session文件自动清除的功能,具体配置如下:

找到

session.gc_probability = 1

session.gc_divisor = 1000

上面这两项参数其实就是这个概率,默认情况下是1/1000

将 session.gc_divisor = 1000  改为 session.gc_divisor = 100 即可

如果想达到完全的实时,那么可以把这个参数改为1,这样概率就是100%了,呵呵!^^

关于PHP缓冲控制在IE浏览器下的应用

最近写程序的时候遇到一个问题,就是我用PHP控制浏览器缓冲,试了N次都无法实现想要的效果,具体程序见下面的代码:

<?php
for ($i=0; $i<10; $i++) {
    echo "<BR>".$i;
    flush();
    sleep(1);
}
?>

上面这段程序是实现每隔1秒钟在浏览器上输出一个字符,但实际效果是程序执行完后才把所有字符输出到浏览器上,调试了好几次都不行。在网上搜索了N个技术文章都没有解决这个问题。最后从一篇文章上找到些灵感,那篇文章里写到flush()函数可能在微软IE浏览器的个别版本上不起作用。

阅读更多

SQL Server 2000遇到“用户XX已经存在”解决方案

SQL Server 2000迁移数据库文件后,在建立与原用户名相同的新用户名时,会遇到错误提示:“错误21002:[SQL-DMO]用户xxx已经存在”,这主要是由于“孤立用户”引起的。

孤立帐户的产生一般是将备份的数据库文件拷贝到其它服务器上进行还原时出现的。

解决方法:

使用 sp_change_users_login 进行修复。

步骤1:
exec sp_change_users_login ‘REPORT’
可列出当前数据库中存在的孤立用户

步骤2:
exec sp_change_users_login ‘AUTO_FIX’, ‘用户名’
可自动将用户名添加到syslogins中做为一个登录名

步骤3:
exec sp_change_users_login ‘Update_ONE’, ‘用户名’, ‘登录名’
可将用户名与登录名进行映射

通过上面操作,孤立用户的故障将得到解决。

定时自动释放SQL SERVER占用内存的方法

近日公司服务器频频出现由于内存不足而引起的IIS工作不正常的情况,通过观察,服务器的大部分内存都被SQL SERVER所占用。要想让SQL SERVER释放掉占用的内存,只能通过重新启动MSSQLSERVER服务来实现,SQL SERVER 2000自身并未提供类似的功能。

我联想到可以将停止与启动MSSQLSERVER服务的命令行做成批处理文件,同时结合Windows的“任务计划”功能,来实现定时自动释放SQL SERVER占用内存的方法,做法如下:

第一步,打开记事本,输入下列2行命令

阅读更多

PHP的异常处理范例

<?php
try {
    $error = '这是一个自定义的异常报错信息';
    if (is_dir('./test')) {
        echo 'do sth.';
    } else {
        throw new Exception($error, 123456789); //通过throw语句抛出一个异常报错信息
    }
    echo '如果没有异常才会显示这句话<br>', "\n";
} catch(Exception $err) {
    $err_msg  = "程序出现异常:";
    $err_msg .= $err->getMessage();
    $err_msg .= $err->getCode();
    $err_msg .= "\n<br>";
    echo $err_msg; //显示报错信息和代码
}
echo '继续执行';
?>

转载一段很适用如今社会的文章

怎样做一个不完美的人

大家都知道,完美的人是不存在的。我从来不提倡大家向完美的方向去努力,我想要教大家的是,如何尽力去做一个讨喜的不完美的人。

常常在一些公司、单位、团体里看见,某一个人能力很突出,各方面都很优秀,但这样一个人却不受大家喜欢,总有很多人在暗里诋毁他,总有很多人暗地里说他坏话。如果上司碰巧又是一个软耳朵的话,这个人在公司里基本就很难混了。

阅读更多