原创

关于PHP的回调函数及事件回调的用法

PHP的回调机制,是通过使用 call_user_func(call_user_func_array)实现的。回调函数可以很好地将一些功能从核心功能剥离开。
回调机制类似于一种通知机制,在异步编程中经常用到。 就是 我让你做一件事情,你做好了,通过我提供的接口通知我。

代码如下。…

                    

PHP Socket 编程示例

<?php

//php socket 客户端编程
// 建立一个socket并连接

//选项 SO_REUSEADDR¦SO_REUSEPORT¦TCP_NODELAY¦SO_RCVTIMEO¦SO_SNDTIMEO
//SO_REUSEPORT 端口重用 linux kernel >3.9
//SO_RCVTIMEO 接收数据超时
//SO_SNDTIMEO发送数据超时
//设置socket选项

//$host = "34.56.33.33";
$host = "192.168.6.156";
$port = "1883";
$timeout = 2; //连接超时/秒

$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);

//连接 超时处理
socket_set_nonblock($socket);
$time = 
        

六种网络应用架构模式

六种网络应用架构模式

六种网络应用架构模式,以socket编程为例讲解。

一、串行化

处理请求的串行化模型。
在串行化架构中,所有的客户端连接是依次进行处理的,因为不涉及并发,多个客户端不会同时接受服务。
串行化架构最大的优势在于它的简单性。没有锁,没有共享状态,处理完一个连接之后才能处理另一个。在资源使用方面亦是如此:一个实例处理一个连接,一个萝卜一个坑,绝不多消耗资源。
串行化架构明显的劣势是不能并发操作。即便是当前连接处于空闲,也不能处理等待的连接。…

                    

PHP处理json的注意点

PHP处理json的注意点:代码说明:

<?php
$json=json_encode($messagebody,JSON_UNESCAPED_UNICODE);//把数据转换成json格式时要加 
 JSON_UNESCAPED_UNICODE参数,不要把中文转换成 unicode 
 $data =file_get_contents('php://input', 'r');
 $data=ltrim($data,"\XEF\XBB\XBF");//去bom
$json=json_decode($data,false,512,JSON_BIGINT_AS_STRING); //解析json时,记得加 
 JSON_BIGINT_AS_STRING参数,把大数字转为字符串,防止传入大的数字而解析不完整。
if (json_last_error() === JSON_ERROR_NONE) { //json格式检查
//没错误可以继续了
 } else {
 //不是一个json格式,记录错误日志
$mmsg=json_last_error_msg(); 
error_log('not a json:'.$mmsg."\n".$data."\n",3,'errorjson.log');
 }

 

        

关于 emqtt 推送问题,mqtt有时收不到消息疑难解答

 

一、客户端 连接冲突会发现以下报错 (开启 debug日志:把配置文件 的log.console.level 改为= debug)

11:20:55.849 [info] Session(060010100000868936): resumed by <0.21232.18>^M^M
11:20:55.849 [warning] Session(060010100000868936): <0.21232.18> kickout <0.31200.17>^M^M
11:20:55.849 [warning] Client(27.187.80.148:9093): clientid '060010100000868936' conflict with <0.21232.18>^M^M…

        

主要开源PHP CMS 列表

主要开源PHP CMS 列表

一、PHPCMS
通用型模块化网站内容管理系统,内建模型管理,可建任何类型的网站。采用PHP MVC框架开发。稳定负载能力强。支持建站群. 基本不用二次开发.
http://www.phpcms.cn

二、帝国CMS
通用型模块化网站内容管理系统,内建模型管理,可建任何类型的网站。安全性最好,功能最强大的CMS系统。 缺点:后台样式比较老,后台操作浏览器兼容性差。基本不用二次开发.
http://www.phome.net/…