<?php
/**
* daemonize让当前脚本为守护进程执行
* @param string $callback 匿名函数
*/
function daemonize($callback)
{
//创建子进程
$pid = pcntl_fork();
if ($pid < 0)
{
exit('创建子进程失败退出');
}
elseif ($pid)
{
exit('主进程退出');
}
else
{
//设置子进程为会话leader
$sid = posix_setsid();
if ($sid < 0)
{
exit('设置子进程为leader失败');
}
$callback();
}
}
//执行任务来测试
$callback = function () {
for ($i=0;$i<10000;$i++)
{
file_put_contents('1.txt',$i.PHP_EOL,FILE_APPEND);
}
};
daemonize($callback);先让主进程退出,然后设置子进程为会话组长即可
<!doctype html> <html> <head> <meta charset="utf-8"> <title>demo</title> </head> <bod...
通过http推送消息给socket,socket服务再向客户端推送<?php /* * Socket推送 * 请用守护进程方式启动php msgservice.php & (socket只...
if($_SERVER['REQUEST_METHOD'] == 'POST') { echo('This is post '); } elseif ($_SERVER['...
md5/sha1+salt方式是目前各大cms常用的加密方式,虽然salt安全,但是各大md5网站也在研究这个方向,那么我们应该选择password_hash动态hash来助力,一种密码有多种hash结果.看代码模拟登陆.<?php //01.注册 $user ='zhang...
【一】.迭代器迭代是指反复执行一个过程,每执行一次叫做一次迭代。比如下面的代码就叫做迭代:1. <?php 2. $data = ['1', '2', &...
在使用ftok生成ipc进程通信key尝试将第二个参数项目标识符传入字符串报错:PHP Warning: ftok(): Project identifier is invalid,查阅资料发现第二个字符串只能是1个字符串,长度为1....