- 博客(33)
- 收藏
- 关注
原创 html2canvas导致页面音频重叠问题
html2canvas在调用时会再次加载一次页面所有的静态资源,如果页面上有audio音频,也会让audio重复加载。第一种:在使用html2canvas之前,删除audio标签的autoplay属性。第二种:直接删掉audio标签上的autoplay属性,通过js设置自动播放。
2024-03-26 14:18:40
152
原创 php+html:关于普通textarea文本如何在前端换行输出的解决办法
【代码】php+html:关于普通textarea文本如何在前端换行输出的解决办法。
2022-08-30 14:52:45
385
原创 关于CI框架批量导出至压缩文件
最近收到了一个需求,需要将很多文件导出为压缩文件,刚开始以为需要先一层一层将目录创建好,把对应文件放进去,然后利用压缩类对大文件夹整体压缩,后面发现没这么复杂,CI的read_file方法直接将文件读取进指定位置就可以了,然后download下载之后就是你想要的层级结构。实践之后遇到了一个问题,阿里云oss的文件没法直接写入到压缩文件,可能是读取不到吧,因为本地文件是可以直接写入的。在网上没找到解决方法,想了一下,干脆将文件先写入本地,然后从本地写入压缩文件吧,问题又来了,常用的file_get_cont
2022-05-31 14:16:54
205
原创 计算php两个日期之间相隔几个月零几天
最近遇到一个需求需要根据日期算费用,在网上找了很多都不太准确,自己现写一个,代入数据测试了一下应该是可用的,如果有不严谨之处欢迎指出错误。function getMonthNum( $start_time, $end_time){ $date1 = explode('-',$start_time); $date2 = explode('-',$end_time); if($date1[0] == $date2[0]){ //同年 if
2022-04-11 11:17:53
757
原创 关于nodejs部署时的一些错误(多多客SaaS)
需要部署一套nodejs的saas项目,迁移服务器,因为对nodejs完全不懂,即使是按照部署文档部署还是会遇到错误,现记录一下部署方式及遇到的问题环境:centos8+纯静态1.项目整体拷贝到新服务器(包括node_modules),不要手动去执行npm install,开发过程中不提倡上传node_modules文件夹,但是在部署或是后期迁移的时候不要重新生成node_modules,因为其中部分包可能会被干掉,如果生成不了,会到导致整个项目出错我的问题之一就在此,重新生成了node_module
2021-12-30 10:12:24
868
原创 tp数据库主从+读写分离
第一部分:tp的配置看官方文档-分布式数据库章节注意:主从数据库的数据同步工作不在框架实现,需要数据库考虑自身的同步或者复制机制。第二部分:配置数据库,MySQL安装环境操作系统 :CentOS 7.3数据库版本:MySQL 5.7.30主机A:192.168.0.1 (主库)主机B:192.168.0.2 (从库)Master的配置在my.cnf中配置log-bin=mysql-binserver-id=1binlog-ignore-db=information_schemab
2021-11-18 14:37:11
1182
1
原创 php+uniapp(微信小程序版)实现电子签名及合同生成
想实现在线电子签名,及生成签名到合同文件第一部分:uniapp小程序端1.从插件市场导入手写签名canvas电子签名,按照操作步骤即可使用。我这里是调整了样式,修改了组件,根据自己实际UI调整我的UI效果图:2.通过组件的submit方法可以得到签名后的图片临时文件,将图片上传到后台得到服务器图片地址,保存下来sumbit(res){ console.log('sumbit',res) var _this = this; try { // this.resultUrl = res.t
2021-09-28 09:05:43
5485
8
原创 高德地图点标记及信息窗体的使用
项目背景:要做一个数据大屏,需要用到地图以及点标记,UI大致是这样:我是结合vue使用的,vue调用高德地图有一个组件是vue-amap,基于vue2.0和高德地图的我是后端开发,vue是才上手,没有使用npm安装,整个实现上可能走了一些弯路,下面整理一下实现步骤1.引入amap的js,将key修改为你的高德key<script type="text/javascript" src='https://webapi.amap.com/maps?v=1.4.15&key=XXXXXXXX
2021-09-17 09:24:00
4333
原创 Ubuntu中ssl提示/etc/pki/tls/certs/ca bundle.crt 未找到(PHP)
PHP在做邮件发送,以及需要验证ssl证书的地方,Ubuntu下会报这个错误/etc/pki/tls/certs/ca bundle.crt 未找到因为在 ubuntu/debian上,这个文件在 /etc/ssl/certs/ca-certificates.crt 中解决方案:找到php.ini配置文件,确定是哪个版本的php运行的项目修改配置文件的这两行,改为Ubuntu下的路径即可如果是宝塔安装的php,php.ini的位置应该在cd /www/server/php/71/etc/
2021-07-02 09:58:02
1688
转载 Ubuntu修改UTC/CST时间
修改时区为UTC先查看/etc下面有没有localtime的软链接,如果有,先备份文件(备份文件使用mv命令)cd /etc#备份源文件mv localtime localtime.bak#复制UTC时间到 /etc/localtimesudo cp /usr/share/zoneinfo/UTC /etc/localtime #创建软连接 /etc/localtimesudo ln -sf /usr/share/zoneinfo/UTC /etc/localtime #显示时间和
2021-07-02 09:45:39
2984
原创 项目部署完整流程记录
1.如果没有ubuntu用户创建ubuntu用户useradd ubuntu2.创建完之后会生成用户及用户组 ubuntu:ubuntu查看用户: cat /etc/passwd查看用户组:cat /etc/group3.设置ubuntu用户的密码(不要切换至ubuntu下,直接在root下设置)sudo passwd ubuntu会提示你创建密码并二次确认密码,设置之后保存好你的密码4.查看ubuntu用户的家目录是否存在,cd到那个目录查看即可cd /home看这个目录下有没有
2021-06-26 14:19:47
388
原创 关于mongodb的聚合查询在thinkphp中的使用
框架:tp5.0后台:fastadmin使用的是tp自带的composer包mongo2.0的那个版本。别问我为什么不升级,官方爸爸已经放弃了升级低版本的mongo包,3.0以上的版本都要求tp6版本,可是fastadmin目前还没有整站升级tp6,好无奈经过一系列的踩坑过程,最后弃用了tp自带包,选择了php-mongodb官方包,去composer上搜索mongodb,最火的那个就是。附带链接导包过程就不讲了,composer require mongodb/mongodb需要安装mongo
2021-04-02 10:11:30
1243
原创 root权限丢失恢复 Access denied for user ‘root‘@‘localhost‘ (using password: YES)
报错信息:Access denied for user ‘root’@‘localhost’ (using password: YES)表示密码是正确的,但是root账户没有权限操作数据库找了很多帖子之后,摸索出来一套解决方法1.先停止mysql 服务service mysqld stop2.进入mysql安装目录bin/ 使用safe模式,进行重启:cd /www/server/mysql/bin/./mysqld_safe --skip-grant-tables3.执行完后会进入保护
2021-01-15 13:46:05
294
原创 定时备份数据库文件并存储本地
背景:项目部署在别人服务器,不知道别人的服务器和域名什么时候到期,不能重新部署,只能等服务器停用的时候才能移植。现只有宝塔账号,没有root密码,想要实现实时远程备份数据库到另一台服务器思路:(亲测有效)1.先创建定时任务每一天备份一次数据库2.找到数据库备份文件位置3.通过rsync命令远程备份到其他服务器4.通过shell脚本定时执行rsync命令rsync功能能够自动同步文件,非常方便,但是它在远程拷贝文件之前提示还需要输入一个密码,要实现脚本自动拷贝,必须要优化掉这个步骤,所以要提前设置
2020-10-11 15:27:55
542
1
原创 websocket记录
建立一个websocket连接,所经历的生命周期1.onopen(打开事件)2.onclose(断开事件)3.onmessage(消息事件)4.onerror(错误事件) var websocket = new WebSocket('wss://'+window.location.hostname+':'+port); websocket.onopen = function (evt) { onOpen(evt) }; websocket.onclose =
2020-09-08 11:55:16
112
转载 执行svn sync命令做svn同步时遇到Failed to get lock on destination repos, currently held by ...错误
手动执行命令时,报错:发生以上情况的有两种情况:1.有正在同步的进程未完成,lock未释放;2.上一次同步的进程异常导致中断,lock未释放。3.有svn冲突SVN同步时,源库端会在目标库端加lock,成功同步后释放lock,但当SVN同步异常中断后,lock是不会自动释放的。这时在执行svn sync命令,就会出现如上问题;解决方案:执行:svn propdel svn:sync-lock --revprop -r 0 http://192.168.xx.xx/仓库(svn仓库地址)将lo
2020-07-24 16:03:55
899
原创 svnsync代码同步
由于开发需要,想要将开发的代码同步部署至两台服务器上,于是考虑到了svn的代码同步svnsync同步方式备份,要用到两个命令1、svnsync init初始化,建立本地库和源库之间的同步关系命令格式 svnsync init 本地URL 源库URL2、svnsync sync真正的同步命令格式 svnsync sync 本地URL步骤:1.创建本地svn库(创建一个空库就行了),省略此步骤,可以参考:创建本地svn库注意:请确认配置的svn用户有写入权限。且对来源SVN有读取权限,且密码
2020-07-22 16:32:24
2687
原创 服务器部署网站步骤-记录一下
需要将网站部署到线上,但是突然忘了流程,因为之前都是现有宝塔进行操作,现在记录一下完整的流程,以防后面自己忘记(基于程序员的基本操作都不会的话实在太打脸)还是拿宝塔部署为例,因为目前我觉得这个最简单1.拿到阿里云服务器的账号和密码2.登录进去,找到服务器,如果是云服务器,找到实例,并设置远程连接的密码3.登录远程连接:部署宝塔(宝塔创建地址可以去官网或者手册查看)宝塔手册以centos...
2020-04-09 10:33:19
803
原创 项目文件明明存在,宝塔配置项目却报404错误(基于php项目)-已解决
nginx貌似会默认将服务器或者代码报错显示成404错误,我想看到具体报错信息,但是不知道在哪里设置,未解决我的本次404问题已解决,记录一下报错SQLSTATE[HY000]: General error: 1366 Incorrect integer value: '' for column 'xxx' at row 1我的错误是MySQL配置问题:找到my.ini文件并查找sql...
2020-04-07 09:10:14
2851
原创 git记录 新手操作
第一种方法:(简单易懂)1、git add .(后面有一个点,意思是将你本地所有修改了的文件添加到暂存区)2、git commit -m""(引号里面是你的介绍,就是你的这次的提交是什么内容,便于你以后查看,这个是将索引的当前内容与描述更改的用户和日志消息一起存储在新的提交中)3、git pull origin master 这是下拉代码,将远程最新的代码先跟你本地的代码合并一下,如果确定远...
2020-01-16 10:00:43
146
原创 公众号素材的运用:配置公众号菜单栏或者被动回复用户图文消息
将素材配置为公众号菜单栏1.获取素材库,拿到的result是一个json字符串,里面会包含公众号中添加的所有素材信息,包括media_id$access_token = $this->getWXToken(); $url = 'https://api.weixin.qq.com/cgi-bin/material/batchget_material?access_token...
2020-01-07 15:40:48
527
原创 关于小程序授权登录及token保存
我的问题:由于微信改版,授权登录不再主动弹出弹窗授权,只能通过button去触发,这样对于我们这种想要在网站进入就拿到用户信息的码农们,很是郁闷。但是呢,也理解,官方为了保证用户隐私,必须用户主动把信息给你看,否则你就不能看,这一点还是很好的。那么针对这一改版,我们应该做些什么调整呢?我的实现思路:一、根据小程序中文档的相关介绍,我将openid的获取和用户信息分开成两块,关于openid...
2019-12-27 18:19:06
7405
原创 小程序报错 errcode: 40029, errmsg: "invalid code, hints: [ req_id: HQd79a0542at65 ]-已解决
我的问题:已经发布过的小程序,想要更新小程序的账号(appid,appsecret),但是报错code无效解决方法:1.首先我在配置表中替换了appid和appsecret会发现有如下报错errcode: 40029, errmsg: "invalid code, hints: [ req_id: HQd79a0542at65 ]2.然后找原因发现,是因为开发者工具中的appid没有替...
2019-12-26 13:49:16
2881
原创 智龄语音+php
由于公司服务器环境及各项限制条件,我们采用的是从前端录制音频,将音频由前端上传至阿里云oss(将服务器压力转到阿里云),再由php将得到的音频用智龄语音进行评分判定。1.账号准备:腾讯云账户secretId,secretKeySDK文档中心下载php版本的sdk参照 示例/soe/v20180724/的例子,结合API文档,最终选定了“发音数据传输接口附带初始化过程”以下是tp5....
2019-08-19 15:44:46
648
原创 自动删除指定目录、指定时间内的日志文件
shell脚本,可结合宝塔创建定时任务find / -type f -name *.log -mtime +30 -exec rm {} \;/ 处设置指定目录-type f 设置查找的类型为文件;-name *.log 设置文件名称中包含log;-exec rm -f 查找完毕后执行删除操作;-mtime +30 设置时间为30天前;...
2019-05-31 18:01:41
967
原创 ffmpeg将amr格式转成mp3格式
微信公众号开发中,有涉及到微信语音功能,但是对于amr格式的音频在某些地方无法播放,因此只能想办法转成其他格式,例如mp3。我的系统是centos的;2.5.3的ffpmeg1.安装系统编译环境yum install -y automake autoconf libtool gcc gcc-c++ 2.编译所需源码包按照步骤安装即可,但是要注意一点,因为每一步骤中都切换了目录 cd,...
2019-04-26 11:47:49
3990
1
原创 access_token不到两个小时失效的处理办法
开发过程中因为access_token提前失效,导致微信消息无法正常推送,多媒体下载接口异常等等invalid credential, access_token is invalid or not latest hint: [uf.Eia06653401!]先确保整个网站中只存在一个获取access_token的方法(不确定的可以全局搜索一下)验证access_token的有效性验证...
2019-04-20 14:40:09
7693
1
原创 微信公众号开发注意事项
JS接口安全域名/授权回调域名/业务域名不支持IP地址、端口号及短链域名公众号配置支付目录定位:以tp为例不带参数: www.xxx.com/index.php/Weixin/Pay/index Wexin分组Pay控制器下面的index方法支付填写:www.xxx.com/index.php/Weixin/Pay/带参数:www.xxx.com/index.php/Weixin/P...
2019-04-04 11:42:02
254
原创 linux安装配置SVN并设置钩子
安装说明系统环境:CentOS-7.4 (查看版本 cat /etc/redhat-release)检查已安装svn版本#检查是否安装了低版本的SVNrpm -qa subversion#卸载旧版本SVNyum remove subversion一.安装SVNyum -y install subversion验证安装检验已经安装的SVN版本信息svn --version...
2019-04-04 11:34:11
536
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人