- 博客(52)
- 收藏
- 关注
原创 宝塔composer 安装laravel依赖出现的问题
问题1:PHP Fatal error: Uncaught Error: Call to undefined function Composer\XdebugHandler\putenv()办法:把PHP版本disable_functions这个中的proc_open去掉,这个意思就是proc_open被PHP对应的版本禁用了,要放开!办法:把PHP版本disable_functions这个中的putenv去掉,这个意思就是putenv被PHP对应的版本禁用了,要放开!
2023-09-22 14:21:42
2104
转载 docker 搭建Elasticsearch
由于是yml文件配置,所以host后面的冒号,必须空格后才能输入0.0.0.0。也就是后面的ip地址前面需要空格。6.使用docker ps -a检查es是否正常启动,然后使用docker logs来查看该容器的日志。3.选择挂载硬盘创建三个目录,分别对应es的日志,es的配置,和es的插件。并设置目录权限为可读写。7.在浏览器里输入部署es的服务器ip地址和端口号9200是否已经正常启动。2.查看镜像是否下载成功:docker images。
2023-09-06 17:57:25
186
原创 站点平台技术架构
GIT版本控制:通过总控端向租户端发送一个更新同步请求,租户端收到请求后执行GIT PULL 命令,执行完成命令后会进行获取当前版本指定的SQL文件,进行同步更新数据库结构。
2023-08-23 13:37:17
526
原创 PHP面试题
Session储存在服务端,安全性高,可以储存多种数据类型。Cookie 储存在浏览器,安全性低,用户可以修改,只能储存key + 字符串类型,可以设置过期时间,数据不超3K。
2023-06-20 14:37:28
1081
原创 MYSQL面试题
索引是一种特殊的数据结构,可以帮助我们快速的进行数据的查找。优点:可以大大的加快数据的检索速度,通过使用索引可以在查询过程中使用优化隐藏器,提高系统的性能。缺点:创建索引和维护索引要耗费时间,索引需要占用一定的物理空间,随着索引越多,数据越大占用空间也越大。
2023-06-01 14:02:51
568
原创 windows使用source命令行导入文件比较大的SQL文件(整个数据库文件)
d:(如果你mysql安装的是E盘就是输入e:,格式就是盘符+:号)1、是用命令行工具CMD进入到当前mysql版本的安装目录。3、输入 mysql -u用户名 -p密码。2、输入当前mysql版本安装的盘符。6、导入文件,并等待完成即可!5、选择导入的数据库。
2023-03-27 17:36:51
1854
1
原创 phpadmin导出数据报错:Fatal error: Cannot ‘break‘ 2 levels in /www/server/phpmyadmin/phpmyadmin_e8
找到phpadmina安装目录下的export.php文件,将864行的break 2 改为break即可!今天在用phpadmin导出csv文件时程序报错。
2023-03-05 17:29:49
251
原创 工作日记 1:TP5制作流量统计页面
login.js:54 Uncaught DOMException: Blocked a frame with origin "https://my.yipuku.com" from accessing a cross-origin frame. at Object.end (https://my.yipuku.com/static/index/login/js/login.js:54:52) at c (https://my.yipuku.com/static/common/js/layu...
2023-03-02 18:16:01
291
转载 tp报错SQLSTATE[HY000] [1040] Too many connections
db() 这个助手函数用的多了,然后不会识别了,当循环执行数据库操作,然后相当于访问了数据库几百次,相当于db()函数执行了几百次。(看了一个大佬写的博客,直接更改了mysql的最大链接次数,从根本上解决了问题,大佬文章地址。就可以了记得引入use think\Db;Db::name()要比db()函数好用的多。我们将db()改为 Db::name();
2023-01-13 15:39:34
680
原创 TP 查询出A表在B表中没有的记录行数
今天需要做一个用户从A表中获取记录的接口、并且排除掉用户已在A表的获取数据。一开始是记录已获取过A表的id,然后在下一次获取数据时使用whereNotIn进行排除,但是一但排除的id数组比较大时,执行数据库语句直接把整个服务器拖垮了。百度了一下whereNotIn的优化方法:使用whereNotExists进行排除id,whereNotExists这个查询效率比whereNotIn的效率直接快了N倍。
2023-01-06 10:56:35
228
原创 thinkphp5随机查询数据
2、ThinkPHP5从V5.0.17之后,如果排序使用到SQL函数,要用orderRaw()代替order()进行排序。此条语句即可正常的随机查询。
2022-12-26 17:53:57
2139
原创 JQ拖曳事件mouseup失效的解决办法
/ 获取鼠标的位移(鼠标此时的page值 - 鼠标按下时的初始值 = 元素的移动值)//offset 元素的偏移坐标 有两个属性:top left(对显示的元素有用)//page 显示鼠标指针的位置 (此时相当于,鼠标按下的初始值)3、mousemove和mouseup必须挂载在document。// 获取鼠标离元素(0,0)位置的距离。2、在事件最后添加return false;
2022-11-26 11:51:31
1931
原创 TP5.1 where查询数组使用like 模糊匹配
如上代码所示,是无法查询出name字段包含“名字”的记录的。打印出来的SQL语句显示name 字段的where部分是 name IN (like,%名字%)。很明显上面的SQL语句是错误的,随后查询了一下TP5.1的手册,然后解决了问题。2、在查询语句处必须要使用new Where($where)进行查询方可!使用tp5的where查询数组使用like模糊匹配发现查询不出来。$where["name"] = ["like","%名字%"];1、必须use Where。
2022-10-31 16:25:52
1076
原创 FCK编辑框粘贴图片直接上传到服务器实例
提示语使用了layui框架,图片上传使用了jq框架,所以页面必须要引入这两个框架。// 判断粘贴内容是否是一个图片,非图片类型直接插入编辑框。//阻止默认行为即不让剪贴板内容在编辑框中显示出来。// 获取剪切板的html格式内容。// FCK编辑框加载完成后执行初始化。// 粘贴内容为空不执行任何处理。// 将img标签清空。// 获取实例对象Event。// 触发事件执行函数。// 获取解析 粘贴的文本。* 监听编辑框的粘贴事件。* 监听编辑框的粘贴事件。// 触发事件执行函数。
2022-09-27 17:09:47
273
原创 PHP正则规则
preg_grep(正则,array,0):通过这个正则规则来匹配这个数组是否存存在结果集,如果存在返回对应的值和键,不存在则返回FALSE。0表示从第几个开始,若不填则默认为0,数组中查找内容。
2022-06-08 18:24:21
85
原创 关于window.onload不起效,也不报任何错误的问题
关于window.onload不起效,也不报任何错误的问题。因为window.onload是绑定事件,既然是绑定事件,那说明同一文件目录下的每个页面(.html)只能拥有一个window.onload事件。
2022-05-06 20:18:19
4697
原创 JS与PHP之间64位编码的互解:base64_encode、decodeURI
最近在做项目时遇到需要在PHP用base64_encode进行编码字符串,然后在前端用JS进行解密。防止后续需要所以用到,再次做一下记录PHP: 对应->>>>JS:编码:base64_encode($string); 编码:btoa(encodeURI($string));解密:base64_decode($string);...
2022-05-06 18:04:50
1244
原创 Blocked a frame with origin “https://my.xxxxxxx.com“ from accessing a cross-origin frame.
最近在写一个项目:需要在页面使用iframe来做登陆功能,本想使用parent.window.location.reload();刷新页面的,最后报错了“Blocked a frame with origin "https://my.xxxxxxx.com" from accessing a cross-origin frame”。很明显这个报错就是跨域的问题,因为iframe遵循"同源策略",所以在不同源的情况下是无法进行DOM操作的。因为我只是需要刷新父级的页面所以我使用了:parent.windo
2022-05-03 20:19:07
4111
1
原创 tp5.1对接阿里云短信实例
一、前期要准备工作:1、tp5.1框架2、composer二、下载官方的SDK1、关于asseccKeyId和asseccKeySecret、模板签名此处略过了。如果您只是要做开发接口,并不想申请的话可以使用官方提供的测试模板:2、在tp5.1框架composer阿里云短信的依赖包、官方的API文档里面有教程!官方有两个SDK的选择,选择升级版的SDK。至于没选这个原版的SDK是有原因的,我第一次选的就是原版的SDK,在执行“composer require alibabaclo
2022-04-13 11:39:30
1507
原创 PHP 将二维数组中的某个键的值作为一维数组的键
$tools = array_column(数组,null,键值);//tid作为一维数组的键$tools = array_column($tools,null,'tid');//tid作为一维数组的键
2022-04-07 18:29:14
508
转载 linux上启动一个进程时出现WARNING swSocket_bind: bind(0.0.0.0:9501) failed. Error: Address already in use [98]
1.使用指令netstat -ntlp 查看当前有哪些进程,如图:2.使用指令kill -9 18785 杀死进程,然后查看进程是否已经杀死,如图:
2022-03-21 17:37:45
320
1
原创 kefu.html:530 Uncaught DOMException: Failed to execute ‘send‘ on ‘WebSocket‘: Still in CONNECTING st
这个websoecket报错是因为链接不正确或则swoole没有开启守护进程!
2022-03-21 17:09:29
3673
原创 Thinkphp5.1直接在模板里面直接显示当前时间
直接在模板里面写,不需要在控制器里面赋值!{$data.time|default=time()|date='Y-m-d H:i:s'}
2022-03-18 13:36:47
738
原创 JS点击复制文本:通过创建输入框进行选中的方式
$("#id").dblclick(function(e){let text = e.target;text = text.innerText;let textarea = document.createElement('textarea');textarea.id = "copyTextarea";textarea.style.width = 0;textarea.style.height = 0;document.body.appendChild(textarea);textarea .
2022-03-04 16:36:34
167
1
原创 tp5输出HTML代码{$data.payMsg|raw}
在使用模板变量时在后面加上raw方法,如:{$data.payMsg|raw}<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, i
2022-03-03 15:52:33
713
原创 layer.open让弹窗的按钮居中
layer.open({ title:"提示", type:1, area:['500px','500px'], btn:"提交", btnAlign:"c",//btnAlign:c属性按钮居中,l居左边,r居右边,属性必须小写,大小是无效的! content:`` });...
2022-03-02 16:10:19
2677
原创 PHP 字符串(string)类型的数字转换成int型
$string = '123456';//string类型的数字如果直接用(int)转换的话会变成一个二进制的数字,并非返回123456,所以最快的方法是:$int = $string * 1;//此时$int会是一个int型的数字,123456!运用的是PHP自动类型转换原理把一个string类型的数字保存不变的情况下,转变为一个int型!...
2022-02-19 18:42:48
1112
1
原创 宝塔面板同时设置两个允许跨域请求的配置
location / { set $cors_origin ""; if ($http_origin ~* "^http://test.blyoo.com$") { set $cors_origin $http_origin; } if ($http_origin ~* "^https://www.blyoo.com$") { set $cors_origin $http_origi...
2022-01-26 18:37:39
1246
原创 解决cURL error 60: SSL certificate problem: unable to get local issuer certifica
今天在做本地环境开发阿里云短信验证时报错:cURL error 60: SSL certificate problem: unable to get local issuer certificate (see https://curl.haxx.se/libcurl/c/libcurl-errors.html)解决办法进入:https://curl.se/docs/caextract.html下载最新版Cacert.pem复制这个文件到php的安装目录下,如下图所示打开..
2022-01-26 18:10:11
6552
1
原创 JS 点击复制:不用input表单,P、span、div等标签的都可以
HTML代码:<span id="weixin">88888888</span><button id="weixin-copy"></button>JS代码: //复制微信号 $(document).on("click","#weixin-copy",function(event){ const range = document.createRange(); range.selec...
2022-01-21 20:34:52
391
原创 PHP报错:414 Request-URI Too Large
在项目中遇到这个报错,原因是前端GET传递的参数超过了nginx服务器的长度限制。解决办法一:把get传递参数改为post即可。解决办法二:在nginx.conf里面把这两个缓存加大就行client_header_buffer_size512k;large_client_header_buffers4512k;vi /usr/local/nginx/conf/nginx.conf 文件在配置中加入两行代码2.重启nginx 服务器2.1 :进入nginx可执...
2022-01-21 17:23:34
2954
原创 TCPDF 输出文件名支持中文命名
打开tcpdf.php文件,找到output函数,大约在8467行或(7554)行。1、注释以下代码,大约在8467-8470行或(7565-7568)行:if ($dest[0] != 'F') { $name = preg_replace('/[\s]+/', '_', $name); $name = preg_replace('/[^a-zA-Z0-9_\.-]/', '', $name);}2、搜索该方法代码,替换如下代码,大约分别在8580行。hea...
2022-01-21 17:15:27
573
原创 AJAX跨域请求无法获取cookie和传输cookie的解决办法
在做一个跨域请求的功能时需要用到cookie,但是正常的跨域浏览器不允许跨域请求带上cookie和获取cookie的,所以需要在代码上做一些修改。前端AJAX:$.ajax({ type: "POST", url: "getlistener.php", dataType: 'json', xhrFields: {withCredentials: true},//设置withCredentials为TRUE,为TRUE而执行跨域名请求 data:{business...
2022-01-21 17:08:12
1209
原创 JS中将json字符串转为json对象的三种方式
第一种:利用JSON的parse方法,即jsonObj=JSON.parse(jsonStr);第二种:jsonObj =eval('(' + jsonStr+')');第三种:比较难理解:jsonObj =(newFunction("return " +jsonStr))();
2022-01-21 16:57:23
8837
原创 JS 报错:Uncaught SyntaxError: Unexpected token < in JSON at position
今天做$.post提交是接受数据时在代码:data = JSON.parse(data);报错上面的提示,原因是前面后端返回的数据不是JSON格式的,把返回的格式改为JSON格式就不报错了!
2022-01-21 16:55:55
980
原创 JS iframe子窗口给父窗口传值
子窗口代码:第一种情况:子窗口域名和父窗口域名不同parentHost = document.referrer;获取父窗口域名,如果同域名则不需要window.parent.postMessage(1,parentHost);第二种情况:传到所有的域名window.parent.postMessage(1,*);...
2022-01-18 18:00:49
779
原创 JS 产生随机数的几个用法
<script>function GetRandomNum(Min,Max){var Range = Max - Min;var Rand = Math.random();return(Min + Math.round(Rand * Range));}var num = GetRandomNum(1,10);alert(num);</script>var chars = ['0','1','2','3','4',...
2022-01-17 12:13:35
105
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人