关于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 '继续执行';
?>