
正文
php多进程共享数据 php多线程和多进程实现
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
php 数据共享
你先告诉我你要交换些什么数据嘛
请看这个例子:
几个人要共用一段数据:
Mysql数据表:share
字段:id,value
这样一设计你就可以用ID来获得一段数据
假设id=5 那么你就在每个用户里面都用select * from share where id=5
就可以查询获得这个公共数据了,如果想每个人都更改那么你可以用update share set value=*** where id=5
当然最好不好让每个人都可以delete,否则其它用户可能因查询不到数据而出错。
相关问答
Q1: php多进程编程时如何共享变量
?php /**
* File name:client.php
* 客户端代码
*
* @author guisu.huang
* @since 2012-04-11
*/ set_time_limit(0);
$host = "127.0.0.1";
$port = 2046;
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP)or die("Could not create socket\n"); // 创建一个Socket
$connection = socket_connect($socket, $host, $port) or die("Could not connet server\n"); // 连接 socket_write($socket, "hello socket") or die("Write failed\n"); // 数据传送 向服务器发送消息 while ($buff = socket_read($socket, 1024, PHP_NORMAL_READ)) {
echo("Response was:" . $buff . "\n");
}
socket_close($socket);
Q2: PHP如何解决多进程同时读写一个文件的方法
/*
*flock(file,lock,block)
*file 必需,规定要锁定或释放的已打开的文件
*lock 必需。规定要使用哪种锁定类型。
*block 可选。若设置为 1 或 true,则当进行锁定时阻挡其他进程。
*lock
*LOCK_SH 要取得共享锁定(读取的程序)
*LOCK_EX 要取得独占锁定(写入的程序)
*LOCK_UN 要释放锁定(无论共享或独占)
*LOCK_NB 如果不希望 flock() 在锁定时堵塞
/*
if (flock($file,LOCK_EX))
{
fwrite($file,'write more words');
flock($file,LOCK_UN);
}
else
{
//处理错误逻辑
}
fclose($file);
)






