PHP多进程协作编程之 socket
基本思路:通过SOCKET请求其他PHP脚步,实现PHP的多进程的异步执行。
废话就不多说了,请看下面的脚步并执行之。
<?php
//a.php
function runThread(){
$fp = fsockopen('127.0.0.1', 82, $errno, $errmsg);
fputs($fp, "GET /a.php?act=b\r\n"); //这里的第二个参数是HTTP协议中规定的请求头
//不明白的请看RFC中的定义
fclose($fp);
}
function a(){
$fp = fopen('result_a.log', 'w');
fputs($fp, 'Set in ' . Date('h:i:s', time()) . (double)microtime() . "\r\n");
fclose($fp);
}
function b(){
$fp = fopen('result_b.log', 'w');
fputs($fp, 'Set in ' . Date('h:i:s', time()) . (double)microtime() . "\r\n");
fclose($fp);
}
if(!isset($_GET['act'])) $_GET['act'] = 'a';
if($_GET['act'] == 'a')
{
runThread();
a();
echo 'ok';
}
else if($_GET['act'] == 'b') {
b();
}
?>
通过观察result_a.log与result_b.log:
result_a.log: Set in 03:45:560.293005
result_b.log: Set in 03:45:560.296877
我们发现,先写了result_a.log文件后写了result_b.log,这说明两个进程是异步执行的。
相关文档:
作为实现动态网站的工具之一,PHP以其语法简单、高效快速和对数据库的广泛支持而深受用户欢迎。编写PHP程序和ASP一样需要在本机调试,为此需要配置一下调试环境。
有很多方案可以选择,这里提供两种较为简易的方法。
不管是哪种方法,都需要安装PHP。如果你是PHP使用者,你可能在网上找过PHP的安装资讯,它们几乎都说的 ......
array_flip
交换数组中的键和值
$arr1 = array('a'=>1,'b'=>2,'c'=>3,'d'=>4);
$array = array_flip($arr1);
showArr($array);
/*
Array
(
[1] => a
[2] => b
[3] => c
[4] => d
)
*/
array_key_exists
检查给定的键名或索引是否存在于数组中(也可用于对象 ......
在PHP中使用过SESSION的朋友可能会碰到这么一个问题,在某些客户端电脑上SESSION变量不能跨页传递。这令我苦恼了好些日子,最终通过查资料思考并解决了这个问题。我认为,出现这个问题的原因有以下几点:
1、客户端禁用了cookie
2、浏览器出现问题,暂时无法存取cookie
3、php.ini中的session.use_trans_sid = 0或者编译 ......
现在我们开始介绍新闻的列表和删除了。
新建立一个文件listnews.php,内容如下:
< ?php
require_once('../inc/config.php');
//包含配置文件
?>
<html>
<head></head>
<title>新闻管理</title>
<body>
<div class="newstitle"></div>
<div class="ne ......