热门 最新 精选 话题 上榜
GatewayWorker配置开启wss服务代码start_gataway.php<?php/** * This file is part of workerman. * * Licensed under The MIT License * For full copyright and license information, please see the MIT-LICENSE.txt * Redistributions of files must retain th.
原创 5月前
156阅读
小程序通过websocket请求数据真机调试时打开调试可以获取到数据关闭调试又拉取不了接口解决后台设置服务器域名---scoket合法域名wss://www.aaa.com:443
小程序表单提交触发多个事件介绍小程序提交表单的同时,想发送订阅消息给用户原理把提交button写在<view>中,给外面的view绑定一个点击事件bindtap,当点击提交按钮时,点击事件会冒泡到外面的view,执行bingtap代码<form bindsubmit="formSubmit" report-submit="true"> <view class="post-message"> <view class..
docker上安装nginx并部署静态网站拉取nginx镜像docker pull nginxnginx配置test.confserver { # 默认监听 80 端口 listen 80; server_name www.test.com;//域名 location / { root /var/wwwroot/www.test.com;//根目录 index index.html index.h
双系统时间不同步深度跟win10双系统,深度系统时间提前八小时,查看时间设置timedatectl status发现深度系统使用了CTS时间解决方法,将其改为UTC时间输入以下命令timedatectl set-timezone UTC...
通过一张表查询完整的省市区信息表结构DROP TABLE IF EXISTS `area`;CREATE TABLE `area` ( `id` int(11) NOT NULL AUTO_INCREMENT, `pid` int(11) UNSIGNED NOT NULL, `name` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, `visible` tinyint(4) UNSIGNED
介绍最近写个框架,需要完成日志类,接过一番研究最后选用monolog,同时项目中数据库模型类使用了thinkPHP的ThinkORM,要记录sql日志的话,需要实现PSR-3日志规范的日志类首先下载monologcomposer require monolog/monolog主要代码log.php<?phpnamespace lib;use Psr\Log\LoggerInterface;use Monolog\Formatter\LineFormatter;.
workerman,GatewayWorker将http传统web请求转发给socket,tcp服务,在一个普通的Web项目中通过GatewayWorker推送数据介绍项目中使用GatewayWorker作为服务端,业务逻辑都在workerman中实现,客户端只能通过socket拉取数据,同时又有些第三方服务会发送http请求给服务器,比如支付回调,为解决这一问题,只好将http请求转发给workerman,处理完再将结果响应给http请求流程GatewayWorker中开启一个内部Ga
最近使用phpstrom管理数据库,功能强大,省去了安装其他sql管理工具但清空表时找不到截断表的操作在哪里,选中删除太慢操作不方便研究了一番最终找到了
原创 5月前
67阅读
phpstrom 截断表 truncate
介绍php中try catch 无法捕捉到Warning、Notice错误解决方法1.注册错误处理函数来全局捕捉,缺点,不能try catch马上捕捉到,进行处理set_error_handler([__CLASS__, 'error']);set_exception_handler([__CLASS__, 'exception']);register_shutdown_function([__CLASS__, 'shutdown']);set_error_handler
深度linux deepin安装phpstrom并生成开启菜单1.官网下载linux压缩包并解压https://www.jetbrains.com/zh-cn/phpstorm/download/#section=linux2.将解压文件移动到 local/phpstrom下(其他路径也可以)sudo mv PhpStorm-203/ /usr/local/phpstorm3.生成启动软链接sudo ln -s /usr/local/phpstorm/bin/phpstorm.s
配置禅道客户端1.生成配置文件并下载喧喧服务端xxd2 将下载文件上传到服务器执行./xxd[root@localhost xxd]# lscert config log nohup.out xxd[root@localhost xxd]# ./xxd[I] XXD v3.2.1 Built at 2020-03-23 14:17:29 is running [I] XXD runs the directory /www/wwwroot/zentaopms/xxd [
通过网线直连,本地管理服务器,每次都的去机房很不方便,可以配置管理网口,将其接入交换机通关远程连接来管理1.找条网线连接电脑跟服务器管理网口,服务器默认IP:192.168.2.100 ,修改电脑的ip跟服务器同一网段IP address: 192.168.2.1掩码: 255.255.255.0网管: 192.168.2.2542.浏览器访问https://192.168.2.100/,使用默认密码登录默认账号密码为AdministratorAdmin@9000.
docker开启远程访问,开启2375远程连接,phpstrom连接docker一、配置远程访问开启docker远程访问2375端口/usr/lib/systemd/system/docker.service,配置远程访问vi/usr/lib/systemd/system/docker.service加上ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock"unix...
mysql查询未提交事物的sql语句,找出未提交事务执行的SQL语句mysql开启事务后没有提交就退出,事务长时间running状态,进程又处于Sleep状态,有可能后续导致其他事物超时失败常见原因事务过程中执行其他非数据库操作,导致事务长期未被处理。 事务处理异常或实现逻辑有误,导致事务未被正常处理。 网络,数据库负荷过大等 能找到事物执行的sql语句的话就很容易定位到程序中错误的代码排查过程查看所有事务查看进程信息查询进程状态,发现sleep中...
Last_SQL_Errno: 1133Last_SQL_Error: Error 'Can't find any matching row in the user table' on query. Default database: ''. Query: 'grant all privileges on `zentao`.* to `zentao`@`localhost`'问题MySQL主从同步停止,在从库中查看状态mysql> show slave status\G报如下错..
列表查询中一对多查询循环查询优化,mysql循环查询优化描述比如查询学生列表,每一行需要包含该学生的家长列表,一个学生对应多个家长。循环查询方式先查出学生列表,再循环查询对应的家长列表,需要查询N+1次但在循环中查询数据不但效率低下而且对数据库造成很大对压力,当循环次数多的时候,一方面会造成严重的网络延迟,一方面可能会连接数据库失败,在开发中应该尽量避免在循环里查询数据库优化方案使用关联查询联合查询所有数据行,再循环处理按学生归类,查询次数1示例代码$list =
keyword:thinkphp,mysql关联查询联合查询排除相同的数据,排除指定的数据,排除重复另一张表数据如查询可以分配给当前用户的角色,要排除该用户已经拥有的角色表结构DROP TABLE IF EXISTS `role`;CREATE TABLE `role` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'id', `role_name` varchar(50) NOT NULL DEFAULT
thinkphp 模型 model类中使用构造函数错误如下使用构造函数会导致没有数据use think\Model;​​​​​​​class Member extends Model{ protected $validate; protected $autoWriteTimestamp = true;//自动时间戳 public function __construct() { parent::__construct(); .
前言某鱼上卖了一台长城的D525小主机有两个千兆口,装了lede跟爱快软路由体验了几天,玩腻了,想着整个黑群晖nas试试主机长这个样子,铁壳的,拆开特废了好大劲2G内存,16G的固态,主板正面有个msata口,背面还有个SATA口,以后接条线可以外接硬盘安装群晖硬件软件准备1.准备个U盘做引导2.DiskGenius分区工具、ChipGenius芯片无忧工具、Win32DiskImager写盘工具3.群晖的固件跟引导文件 固件使用3617的6.1.7版本,适合大多数主机,非常的稳定4.
原创 5月前
1652阅读
D525安装黑群晖DSM6.1.7教程
多组时间段判断有没时间冲突,忽略边界思路按开始时间讲数据升序排序然后判断下一个开始时间如果小于上一个结束时间,则发生冲突代码$arr = [ ['start_time' => 1, 'end_time' => 10], ['start_time' => 3, 'end_time' => 8], ['start_time' => 5, 'end_time' => 6],];function compareDat..
配置composer autoload自动加载根目录框架中自己实现自动加载require_once __DIR__ . '/../lib/Autoloader.php';namespace lib;/** * 自动加载 */class Autoloader{ public static function load($className) { $classPath = str_replace('\\', '/', $className); .
php获取当月第一天最后一天开始结束时间戳$startTime = strtotime(date('Y-m', $month));//月初零点时间戳$endTime = strtotime(date('Y-m-t 23:59:59', $month));//月末时间戳
原创 5月前
68阅读
描述向数据库中插入新的时间段前,需要判断是否跟库中已经有的时间段冲突,有的话拒绝插入冲突种类可能发生的冲突情况有以下四种,如图1.与已有时间前面部分重叠2.与已有时间后面部分重叠3.被已有时间包含4.包含了已有时间四种情况取并集就是所以冲突情况,1和2的并集就是4,不需要再算进条件里拼写SQLSELECT * FROM `sign_rule` WHERE ( `start_time` > $startTime AND `start_time` < $endTime )
问题描述公司新装的一批台式电脑前面板都没有声音,控制面板里也没有Realtek高清晰音频管理器,下载多个驱动软件都没有解决,以为是主板上声音线没有连接,拆开机箱发现没问题,后面多方搜索尝试,终于解决了解决方案下载特定的驱动下载地址缺积分的请留言安装完毕后控制面板打开Realtek高清晰音频管理器–打开前面板开关操作截图后Realtek高清晰音频管理器面补遇到同样问题的朋友可以下载试试看...
MySQL时间戳转周几星期时间戳转成周几使用FROM_UNIXTIMEselect FROM_UNIXTIME(1429063399,'%w')FROM_UNIXTIME常用时间格式%a 缩写星期名%b 缩写月名%c 月,数值%D 带有英文前缀的月中的天%d 月的天,数值(00-31)%e 月的天,数值(0-31)%f 微秒%H 小时 (00-23)%h 小时 (01-12)%I 小时 (01-12)%i 分钟,数值(00-59)%j 年的天 (001-366)%k 小时
原创 5月前
120阅读
mysql生成随机数,设定指定字段随机数比如,设置num字段为1到100的随机数update aaa set num= floor(1 + rand()*100) where 1 = 1 ;上面rand 函数返回一个0到1之间的随机数
问题描述服务器80端口被nginx占用,workerman通过8088端口提供服务,两个服务都在docker容器里想让外部通过域名aaa.com访问到8088
nginx日志自定义配置问题有时nginx默认的日志满足不了需求,比如网站绑定了多个域名,想知道用于访问的是具体域名,这时候就需要自定义nginx日志了。nginx 中access log 记录了用户访问的页面以及用户浏览器、ip和其他的访问信息log_format,用来设置日志格式,access_log,用来指定日志文件的存放路径、格式和缓存大小log_format语法log_format name [escape=default|json] string ...;name 格式名称。在
原创 5月前
859阅读
宝塔自定义nginx访问日志配置
域名匹配nginx域名匹配使用server_name指令进行配置匹配规则如下精准匹配多个域名都写上,精准匹配server { listen 80; server_name a.com b.com a.b.com; }通配符在前以通配符*开始server { listen 80; server_name *.abc.com;}通配符在后以通配符*结尾server { listen