- 博客(162)
- 资源 (2)
- 收藏
- 关注
原创 windows docker下启动mysql报Bind on unix socket: Input/output error
如果你在容器的MySQL数据目录上绑定挂载(详见持久数据和配置更改),你必须使用--socket选项将服务器套接字文件的位置设置为MySQL数据目录之外的某个位置;否则,服务器将无法启动。这是因为Docker for Windows处理文件挂载的方式不允许将主机文件绑定挂载到套接字文件上。
2024-09-19 14:18:08 388
原创 Chrome 本地调试webrtc 获取IP是xxx.local
浏览器输入chrome://flags/#enable-webrtc-hide-local-ips-with-mdns 并将属性改为disabled 修改成功后重启浏览器并刷新网页即可
2024-09-11 11:05:21 514
原创 freeswitch 中 switch_buffer_t 结构体
由图可以看出head是指向第一个未读取数据,used也是存储未读取数,actuall_used是存储实际数量。
2024-08-30 09:10:32 136
原创 windows 使用Clion开发FreeSWITCH源码
成功之后左下角有这个小锤子,这个小锤子就是生成makefile文件的,记得点击。Toolchain记得选ssh的。这样就可以愉快的开发了。同时就会出现这个东西。
2024-08-12 21:48:59 244
原创 YII2的errorHandler.errorAction失效原因
原因是:在 Yii 框架中,yii\rest\ActiveController 继承自 yii\rest\Controller。重点就是:ContentNegotiator::beforeAction被触发了,然后调用ContentNegotiator::negotiate这个函数来改变了Yii::$app->getResponse()的format属性。就是$response->format === Response::FORMAT_HTML 这个判断等于false,问题来了,为什么是false?
2024-08-12 21:20:09 249
原创 Spring AMQP 消息发布确认机制
由于它是一个ListenableFuture,您可以在get()获取结果,也可以为异步回调添加监听器。它是为框架生成的nack实例填充的(例如,在ack实例未完成时关闭连接)。从2.1版本开始,CorrelationData对象有一个ListenableFuture,您可以使用它来获取结果,而不是在模板上使用ConfirmCallback。此外,当确认和返回都启用时,只要CorrelationData具有唯一的id,CorrelationData就会填充返回的消息;
2024-07-29 09:33:25 313
原创 Clion 使用gdbserver调试FreeSWITCH源码
Settings-Build, Execution, Deployment-Deployment(主要是为了上传源码到docker里)Settings-Build, Execution, Deployment-Toolchains(其实设不设置都行,用默认也行的)最后就是在clion中点击。
2024-07-13 14:04:41 250
原创 springboot List对象中的属性使用@NotBlank
注解通常用于验证字符串是否为空或仅包含空格。如果你想针对列表中的对象特定属性进行判断,可以使用。在Spring Boot中,
2024-06-04 15:13:18 441
原创 rabbitmq 消息expiration属性的坑
设置每条消息的 TTL 时,过期消息可能会排队 在未过期的后面,直到后者被消耗或 过期。因此,此类过期消息使用的资源将 不被释放,它们将被计入队列统计信息中 (例如,队列中的消息数)。鉴于现有 TTL 设置的每条消息的这种行为 队列中,当需要删除消息时要释放 资源出现,应改用队列 TTL(或队列 清除或队列删除)。应用了每条消息 TTL 的队列 追溯性地(当他们已经有消息时)将丢弃 发生特定事件时的消息。追溯应用每条消息的 TTL 策略时,它是 建议让消费者在线,以确保 丢弃消息的速度更快。
2024-05-17 15:26:54 361
原创 jssip在vue里调用出现‘get‘ on proxy: property ‘uri‘ is a read-only
原因是vue是响应式的,会将data()里定义的变量加上Proxy。解决方式就是定义window.jssip变量就行了。如果代码是上面例子那样写的话就会出现。
2023-11-09 15:43:57 455
原创 解决Freeswitch的INCOMPATIBLE_DESTINATION
通过启用 mod_opus 模块,您可以在 FreeSWITCH 中使用 Opus 编解码器进行语音通信,以获得高质量的音频传输和较低的延迟。它支持 Opus 的多种操作模式,包括宽带音频(48kHz采样率)、超宽带音频(32kHz采样率)和脉冲编码调制(8、16和32kHz采样率)。FreeSWITCH 的 mod_opus 是用于支持 Opus 音频编解码的模块。Opus 是一种开放的音频编解码器,广泛用于实时通信应用,如VoIP、视频会议、游戏音频等。
2023-08-27 18:40:54 1144
原创 php 匿名函数
匿名函数(Anonymous functions),也叫闭包函数(closures),允许 临时创建一个没有指定名称的函数。最经常用作回调函数callable参数的值。当然,也有其它应用的情况。匿名函数目前是通过Closure类来实现的。匿名函数...
2022-05-14 09:33:52 277
原创 istio 配置bookinfo的https
目录1.安装istio2.安装bookinfo3.配置HTTPS4.注意1.安装istioIstio / 入门2.安装bookinfoIstio / Bookinfo 应用3.配置HTTPSIstio / 安全网关(文件挂载)其中ca的创建使用:使用openssl 生成https 证书 和chrome 导入_LCRxxoo的博客-CSDN博客4.注意1.httpbin仅仅是一个http测试应用可以不用管2.安装istio其实是有两个安装,一个是安装
2022-04-11 16:53:37 455
原创 springboot接入logstash日志丢失
GitHub - logfellow/logstash-logback-encoder: Logback JSON encoder and appenderslogback.xml<!--输出到logstash的appender--> <appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender"> <!--可以访问的logsta
2022-03-03 16:44:21 1442 1
原创 SpringBoot MyBatis日志输出
日志_MyBatis中文网可以application中配置mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.slf4j.Slf4jImplmybatis-plus.configuration.log-impl是配置具体的实现,选择springboot中使用的日志框架(例如 SLF4J、LOG4J、LOG4J2等)要注意的是SQL的日志级别是DEBUG...
2022-03-02 17:11:18 1257
原创 解决MYBATIS_GENERATOR自动生成代码工具乱码
如果是使用powershell的话,不是使用set,在每次运行 mvnmybatis-generator:generate 前先运行:setMAVEN_OPTS="-Dfile.encoding=UTF-8" ,而是使用$env, $env:MAVEN_OPTS="-Dfile.encoding=UTF-8"
2021-12-15 09:28:49 600
原创 skywalking 安装SkyAPM-php-sdk
源码地址:https://github.com/SkyAPM/SkyAPM-php-sdk示例(php 71版):git clone --depth 1 -b v1.31.x https://github.com/grpc/grpc /var/local/git/grpc如果慢的话可以改子模块的url记录在 .gitmodules 文件里,手动把里面的url替换掉,然后执行:git submodule syncgit submodule update --init...
2021-10-28 11:21:01 600
转载 CentOS 7升级gcc版本
Centos 7默认gcc版本为4.8,有时需要更高版本的,这里以升级至8.3.1版本为例,分别执行下面三条命令即可,无需手动下载源码编译1、安装centos-release-sclsudo yum install centos-release-scl2、安装devtoolset,注意,如果想安装7.*版本的,就改成devtoolset-7-gcc*,以此类推sudo yum install devtoolset-8-gcc*3、激活对应的devtoolset,所以你可以一次安装多个版本
2021-10-27 14:59:37 185
原创 svn迁移到gitlab并保留commit历史记录
linux方案:Git - 迁移到 Gitwindows 方案:Migrate from Subversion (SVN) to Git - Azure Repos | Microsoft Docs
2021-10-19 17:05:18 143
原创 使用openssl 生成https 证书 和chrome 导入
//生成ca 私钥openssl req -x509 -new -nodes -key ca.key -sha256 -days 3650 -out ca.crt//生成ca证书openssl req -new -sha256 -nodes -out server.csr -newkey rsa:2048 -keyout server.key//生成server 私钥和证书请求文件openssl req -new -sha256 -nodes -out server.csr -newk...
2021-10-09 16:34:30 888
原创 window环境下使用PHP OpenSSL扩展函数openssl_pkey_new(),返回false的原因
<?php$config = array( 'private_key_bits' => 2048,);$res = openssl_pkey_new($config);$res返回false的时候,检查发现,是window系统缺少了openssl环境变量,解决方法如下:$opensslConfigPath = "D:/phpStudy/Apache/conf/openssl.cnf"; //apache路径下的openssl.conf文件路径$config = arra.
2021-09-30 10:34:47 916
原创 Linux shell脚本执行提示错误[[: not found
错误代码:#! /bin/shif[ ! -e "/yapi/init.lock" ]; then echo "run install-server"else echo "not run install-server"fi正确代码:#! /bin/sh#估计一个空格就是识别一个语法if [ ! -e "/yapi/init.lock" ]; then echo "run install-server"else echo "not run install-ser.
2021-09-26 14:42:58 644
原创 composer has unpushed changes on the current branch
可能原因是分支名问题,例如composer.json里版本是dev-xxx(xxx为分支)。而xxx的值是abc-dev那么就会出现has unpushed changes on the current branch原因是composer命令最终解析成git diff --name-status composer/abc...abc -- 而不是abc-dev...
2021-02-01 14:58:17 526
原创 __PHP_Incomplete_Class 错误处理
//该错误通常是两套php代码公用了redis,mysql等数据class A{ public $name = 'admin_a'; } class B{ public $name = 'admin_b'; } $objA = new A(); $objB = new B(); $serializedObjA = serialize($objA); $serializedObjB = serialize($objB); //如果classA 不存在与代码,那么
2020-07-29 10:34:05 977
原创 php 安装扩展管理工具 pecl
curl -o go-pear.php https://pear.php.net/go-pear.phar \ && php go-pear.php \ && ln -s /usr/local/php/bin/pecl /sbin/pecl \ && ln -s /usr/local/php/bin/pear /sbin/pear \
2020-07-21 14:23:49 250
原创 TP5解决count查询清空查询条件
$queryObj = $this->alias('xxx');$options=$queryObj->getOptions();$total = $queryObj->count('*');//为了解决count查询清空查询条件call_user_func(\Closure::bind(function () use ($queryObj,$options) { $queryObj->options = $options;}, null, Query::.
2020-07-17 11:38:18 1346
原创 NGINX proxy_pass导致高并发/死循环
proxy_set_header Host $host这一行的作用是把原http请求的Header中的Host字段也放到转发的请求里。如果不加这一行的话,nginx转发的请求header里就不会有Host字段,而服务器是靠这个Host值来区分你请求的是哪个域名的资源的。...
2020-06-13 21:19:52 919
原创 SOLID设计原则解读
SRP:单一职责原则 任何一个软件模块都应该只对某一类行为者负责OCP:开闭原则 主要目标时让系统易于扩展,同时限制其每次被修改所影响的范围。实现方式就是将系统分为一系列组件,组件之间按层级关系分割,高阶组件不会因低阶组件的修改而收到影响。例子,系统中的输出信息方式不会因显示设变的不同而不同,因为定义了统一的接口,所有的显示设别驱动都要实现该接口LSP:里氏...
2020-03-26 18:43:40 389
原创 THINKPHP6 实现中间件
/** * 执行应用程序 * @param Request $request * @return mixed */protected function runWithRequest(Request $request){ $this->initialize(); // 加载全局中间件 $this->loadMiddleware(); //...
2020-03-13 12:58:13 4046 3
原创 TP6 依赖注入
public function invokeClass(string $class, array $vars = []){ try { //根据反射机制获取 类的内部信息(多少个私有属性,多少个共有属性等等) $reflect = new ReflectionClass($class); } catch (ReflectionException $...
2020-03-12 12:07:23 962
原创 rabbitmq 消息对象的结构
rabbitmq中有三种对象分别是: 队列、交换器,消息。而他们的关系如下图:·使用 co口tent -t ype 属性让消费者知道如何解释消息、体 。·使用 content - encoding 属性来指示消息体使用某种特殊的方式进行压缩或编码 。·填充 message-id 和 correlation - id 来唯一标识消息和消息响应,用于在工作流程中实现消息跟踪 。· ...
2020-01-15 14:41:07 995
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人