PHP 中长连接的实现
每次我们访问 PHP 脚本的时候,都是当所有的PHP脚本执行完成后,我们才得到返回结果。如果我们需要一个脚本持续的运行,那么我们就要通过 PHP 长连接的方式,来达到运行目的。
每个 PHP 脚本都限制了执行时间,所以我们需要通过 set_time_limit 来设置一个脚本的执行时间为无限长;然后使用 flush() 和 ob_flush() 来清除服务器缓冲区,随时输出脚本的返回值。
如下面这段脚本:
<?php
header("Content-Type: text/plain");
set_time_limit(0);
$infoString = "Hello World" . "\n";
while( isset($infoString) )
{
echo $infoString;
flush();
ob_flush();
sleep(5);
}
?>
当我们执行后,每隔 5 秒钟,我们会得到一行 Hello World ,如果不按停止按钮,浏览器会不停的一行一行继续加载。
通过这一方法,我们可以完成很多功能,例如机器人爬虫、即时留言板等程序。
相关文档:
在生产应用中,某台“Nginx+PHP+MySQL”接口数据服务器,扮演的角色十分重要,如果服务器硬件或Nginx、MySQL发生故障,而 短时间内无法恢复,后果将非常严重。为了避免单点故障,我设计了此套方案,编写了failover.sh脚本,实现了双机互备、全自动切换,故障转移时间 只需几十秒。
一、双机互备、全自动切换方案 ......
用Ajax实现Tab效果的
先创建
ajax.php,在其中输入如下代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Sample 2_1</title>
<me ......
建站程序是站长运营网站的根本,如何结合整合各个不同系统的程序、数据表、架构,提供统一的网站会员系统,一直是困扰很多站长的问题,而使用UCenter可以较为简单的实现不同系统之间的整合问题。
UCenter是康盛创想推出的免费开源的建站工具,是各个建站产品之间信息直接传递的一个工具,康盛的Team在其Discuz论坛上收 ......
强大而且免费的 zend studio 首当其冲,可惜本人机器配置不高,运行起来十分吃力,用没两次太受罪就放弃了。
PHPEdit,短小精悍,可限时试用,感觉一般。
PHPDesigner 正在用,还是可以一试,网上的注册机出的也相当及时。 0.0
纯文本编辑 Editplus 还是常备工具。 ......
最近一年以来,站长界有一个趋势: 很多站长转型做电子商务,或利用现有的网站资源整合电子商务。一方面由于网站越来越难做,而同时在经济大环境的影响下,网上购物却越为越吃香。转做网商或是结合网络购物是个不错的主意。
要做电子商务,你可以选择在淘宝,拍拍,Ebay或是最新的百度有啊,而如果要自己搭建平台,当然首 ......