<?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);先让主进程退出,然后设置子进程为会话组长即可
在项目中需要对图片进行裁剪,前端裁剪完成发送base64给后端,但是很意外的PHP获取到的数据和前端有点差距,之前我都是先加密,后端解密,但是这次依然不行。于是使用filter_input方法轻松解决。$base64 = filter_input(INPUT_POST...
<?php /* *算法学习自百度.只是学习和记录 */ header("Content-type:text/html;charset=utf-8"); //1.设置奖项,id是奖项id,name是中奖名称,v是中奖概率 $arr =&n...
在一个正式项目中操作人员提交239个产品信息进行保存,但是系统却提示没有提交239个产品,于是开启错误信息,显示如下:Warning: Unknown: Input variables exceeded 1000. To incr...
自己的composer已经发布到packagist,但是无法使用composer require easy-task/easy-task来安装,只能在配置文件使用如下方式安装:"require": { "easy...
第一次听说端口复用是在mixphp最新版本中发现的,mixphp启动监听9501端口,现在作者说可以多开几个进程来执行mixphp,我心里想了下再启动不是会端口冲突嘛,但是却没有问题,于是下载mixphp的源码解读,原来是启动http服务器使用new Co\Http\Server('0.0....
众所周知MyISAM引擎不支持事务,但是我只是知道不支持事务,并未测试具体的表现是什么,测试代码如下:try { //开启事务 Db::startTrans(); &...