自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(83)
  • 收藏
  • 关注

原创 phpcli,cgi,php-cgi,fastcgi,php-fpm到底是什么?

Php-CLI模式的好处是,执行php程序,不需要浏览器,也不需要启动服务器。换句话说phpcli就是类似sheel的一种操作程序。那么CGI是干嘛的?CGI是为了保证web server传递过来的数据是标准格式的,方便CGI程序的编写者。web server(比如说nginx)只是内容的分发者。比如,如果请求/index.html,那么web server会去文件系统中找到这个文件,发...

2019-07-23 15:59:31 161

原创 PHP面试总结

找了一个月的工作,总结了一些问的问题,排名分先后!1.数据库优化(绝大多数公司必问)答:https://blog.csdn.net/weixin_42165130/article/details/830654092.优化服务器性能,提高运行速度?(百度-度小满、部分小公司)答:服务器性能优化涉及面比较广,我主要做过以下优化:①数据库优化(详细见题一)②代码优化(...

2019-06-03 15:48:27 380

原创 深入ThinkPHP5的源码研究,tp5是如何从网站开始运行起来的?

1.解析器配置,指定路径首先我们在nginx 或者 apache的配置文件中指定了该项目的路径是到public。eg:nginx:server{ listen 80; #listen [::]:80 default_server ipv6only=on; server_name www.t5.cn; index index.html index.ht...

2019-02-25 14:28:24 1685 1

转载 三次握手,四次挥手(深入讲解)

转自:https://blog.csdn.net/csdnnews/article/details/86570658 作者 | 饶全成责编 | 郭   芮记得刚毕业找工作面试的时候,经常会被问到:你知道“3次握手,4次挥手”吗?这时候我会“胸有成竹”地“背诵”前期准备好的“答案”,第一次怎么怎么,第二次……答完就没有下文了,面试官貌似也没有深入下去的意思,深入下去我也不懂,皆大欢喜!...

2019-02-21 11:30:33 489

原创 高性能的服务器的架设------硬件

服务器集群+负载均衡来支撑. 大的认识-------既然响应是不可避免的,我们要做的是把工作内容”平均”分给每台服务器.最理想的状态 每台服务器的性能都被充分利用. Web服务器  php mysql memcache   A:xxxxxxxx.111     装有nginx服务器的   存放了静态的文件 静态资源   B:xxxxxxxx.118      装有p...

2018-08-31 18:32:56 1340

原创 高性能的服务器的架设-----软件

高性能的服务器的架设软件(php mysql)    对于高性能网站 ,请求量大,如何支撑?1方面,要减少请求    静态----php---mysql对于开发人员----合并css, js,背景图片   icon, 减少mysql查询等.资源的预加载  2: 对于运维 nginx的expires ,利用浏览器缓存等,减少查询.3: 利用cdn来响应请求或者oss来存储...

2018-08-31 18:26:06 171

原创 nacos启动成功,但是页面不显示

nacosError: Could not find or load main classCaused by: java.lang.ClassNotFoundException:

2021-12-28 19:00:08 5141

转载 CentOS安装RabbitMQ

1.准备 1 COPY yum install build-essential openssl openssl-devel unixODBC unixODBC-devel make gcc gcc-c++ kernel-devel m4 ncurses-devel tk tc xz 2.下载 123 COPY wget www.rabbitmq.com/releases/erlang/erlang-18.3-1.el7

2021-03-26 17:24:34 297

原创 乐观锁

乐观锁介绍:乐观锁( Optimistic Locking ) 相对悲观锁而言,乐观锁假设认为数据一般情况下不会造成冲突,所以在数据进行提交更新的时候,才会正式对数据的冲突与否进行检测,如果发现冲突了,则让返回用户错误的信息,让用户决定如何去做。那么我们如何实现乐观锁呢,一般来说有以下2种方式:1、使用版本号实现乐观锁版本号的实现方式有两种,一个是数据版本机制,一个是时间戳机制。具体如下。a.使用数据版本(Version)记录机制实现,这是乐观锁最常用的一种实现方式。何谓数据版本?即为数据增

2020-12-08 12:00:23 633

原创 RabbitMQ和Kafka到底怎么选?

RabbitMQ和Kafka到底怎么选?前言开源社区有好多优秀的队列中间件,比如RabbitMQ和Kafka,每个队列都貌似有其特性,在进行工程选择时,往往眼花缭乱,不知所措。对于RabbitMQ和Kafka,到底应该选哪个?RabbitMQ架构RabbitMQ是一个分布式系统,这里面有几个抽象概念。broker:每个节点运行的服务程序,功能为维护该节点的队列的增删以及转发队列操作请求。 master queue:每个队列都分为一个主队列和若干个镜像队列。 mirror queue:

2020-12-08 10:51:40 165

原创 macOS安装Homebrew报错:Failed to connect to raw.githubusercontent.com port 443: Connection refused

问题:macOS安装Homebrew时总是报错(Failed to connect to raw.githubusercontent.com port 443: Connection refused)原因:由于某些你懂的因素,导致GitHub的raw.githubusercontent.com域名解析被污染了。解决办法:通过修改hosts解决此问题。查询真实IP在https://www.ipaddress.com/查询raw.githubusercontent.com的真实...

2020-12-07 16:09:36 153

原创 进程>线程>协程

进程>线程>协程进程是资源分配的最小单位,线程是CPU调度的最小单位做个简单的比喻:进程=火车,线程=车厢线程在进程下行进(单纯的车厢无法运行) 一个进程可以包含多个线程(一辆火车可以有多个车厢) 不同进程间数据很难共享(一辆火车上的乘客很难换到另外一辆火车,比如站点换乘) 同一进程下不同线程间数据很易共享(A车厢换到B车厢很容易) 进程要比线程消耗更多的计算机资源(采用多列火车相比多个车厢更耗资源) 进程间不会相互影响,一个线程挂掉将导致整个进程挂掉(一列火车不会影.

2020-11-26 18:44:47 121

原创 jwt 和 session的取舍

一、session 1.传统的session认证 http协议本身是一种无状态的协议,而这就意味着如果用户向我们的应用提供了用户名和密码来进行用户认证,那么下一次请求时,用户还要再一次进行用户认证才行,因为根据http协议,我们并不能知道是哪个用户发出的请求,所以为了让我们的应用能识别是哪个用户发出的请求,我们只能在服务器存储一份用户登录的信息,这份登录信息会在响应时传递给浏览器,告诉其保存为cookie,以便下次请求时发送给我们的应用,这样我们的应用就能识别请求...

2020-11-01 19:43:46 1033

原创 虚拟机的安装

1.安装:virtualbox ,vagrant2.选择创建目录并进入3.vagrant init centos/7 (初始化) (自动匹配官网相对应的镜像地址)4.vagrant box add centos/7 (有本地的centos7路劲在后边加一个本地路径)5. vagrant up 这一步如果提示不能打开base文件夹,那就是第三步有问题。 如果错误是: vagrant ssh 连接 虚拟机6.切换到root权限,然后安...

2020-09-27 19:29:44 133

原创 域名未授权 / 该网站未授权,禁止使用 解决办法:

公司买了一个商城项目,让我先搭个测试环境,然后二开,于是我经过披荆斩棘申请二级域名、配置LNMP后,遇见了诡异的事情: 页面提示我:该网站未授权,禁止访问。 在network里边,可以看到我们的域名解析正常,状态码200正常,那我们就可以断定和nginx的部分已经没有关系了。 引发思考:1.config配置了,或者规定了,只能是哪个IP或者哪...

2020-04-09 15:13:37 12668 6

原创 TCPDF 使用

分为两部分:一、编辑书写pdf的html页面 public function DownContractpdf() { // 导出考试结果明细(PDF) $content = '<!doctype html>'; $content .= '<html lang="en">'; ...

2020-01-06 17:23:32 3767

原创 jq加减乘除好多的小数点

javascript(js)的小数点加减乘除问题,是一个js的bug如0.3*1 = 0.2999999999等,下面列出可以完美求出相应精度的四种js算法//除法function accDiv(arg1,arg2){var t1=0,t2=0,r1,r2;try{t1=arg1.toString().split(".")[1].length}catch(e){}...

2019-12-26 11:41:13 735

原创 按回车键光标自动移动到下一个输入框。

在html页面中有多个input输入框,如何通过原生js或者jquery怎么实现:按回车键光标自动移动到下一个输入框。1.原生Js实现:<!DOCTYPE html><html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gbk"&g...

2019-12-04 17:12:35 2915

原创 jq 写的点击事件中的程序重复走

写了一个jq:流程:里边是点击这个btn的时候,给某个div加一个字段。发现问题:点第一次的时候是好的,点第二次给第二个div加的时候会发现原来加的那个div也加上了这次的东西。原因:没有解绑之前的点击事件,导致重复提交;处理:把这个点击事件解绑一下,用unbind解绑就好了,比如,你的点击事件是:$(".abc).click(...)。那么你解绑就用:$(".abc).u...

2019-11-18 10:43:17 132

原创 点击a标签不跳转的办法

方法1:<a href="http://www.baidu.com" onclick="return false"></a>方法2:(推荐)<a href="javascript:void(0);"></a>方法3:(锚点。总是跳转到当前页面顶部,当页面内容较多时,还是会有跳转的感觉)<a href="#"&g...

2019-11-12 09:55:31 553

原创 layui的select在选中后没有数据显示?

我的layui是和tp3.2的<volist>一起嵌入使用的。在用的时候发现,在我select中选中一个option后竟然是空白的。在举办地址这没有内容,通过F12是看elements是可以看到这里有内容的,但是内容前边有一堆的空格,所以在显示了空白。我的代码是:<td colspan="2">举办地址:</td><td ...

2019-11-06 15:48:45 1719 1

原创 快速部署lamp lnmp

1.自己慢慢install,在学校的时候用的最多,恶心,速度慢2.工作时候接触到了玲珑宝塔,可视化操作,好用。需要先开端口:8888 443 等 安装命令: yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh &&...

2019-10-23 16:44:13 175

原创 清空表并且从id为1重新开始

TRUNCATE TABLE 表名清空表内的所有数据,而且使标识列从标识种子(一般标识种子从1开始)重新开始

2019-09-29 16:46:03 319 1

转载 restful

一.概念和区别:1.关于restrest:representational state transfer表述性状态转移,是一种架构风格。rest原则:<1>网络上的所有事物都被抽象为资源<2> 每个资源都有一个唯一的资源标识符<3> 同一个资源具有多种表现形式(xml,json等)<4>...

2019-09-17 17:41:56 111

原创 layui日期控件,只有第一个有效,框架闪烁消失问题的解决

1-只有第一个有效layui.use(['form', 'layedit', 'laydate'], function(){ var form = layui.form, laydate = layui.laydate; //日期 $('.my_class_name').each(function(){ laydate.render({ elem...

2019-09-06 15:18:50 695

原创 php二维数组根据某个字段相同重新组成新的数组,PHP多维数组按照某字段排序

一、php二维数组根据某个字段相同重新组成新的数组 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26...

2019-08-29 13:05:21 1732

原创 phpstorm误删文件恢复

1.如果刚删除不久打开View->Recent Changes->Deleting2.如果删除有段时间,且第一个方法走不通 尝试创建和误删文件同名的文件然后右键Local History -> show history,成功恢复。...

2019-08-09 00:54:44 379

原创 form checkbox 表单提交复选框数据, 只收到最后一条数据?

解决方案:用数组作为复选框的name值,既给后边加个中括号【】<form action="" method="post"> <input type="hidden" name="group_id" value="{$group_id}"> <volist name='pandas' id='panda'> <tr>...

2019-08-08 15:19:59 2298 1

原创 PHP面试总结(2)

1、char和varchart的区别:大小:char的长度是不可变的,而varchar的长度是可变的。​​​​​​取出:取数据的时候,char类型的要用trim()去掉多余的空格,而varchar是不需要的。读取速度:char的存取数度还是要比varchar要快得多,因为其长度固定,方便程序的存储与查找;但是char也为此付出的是空间的代价,因为其长度固定,所以难免会有多余的空格占位符占据...

2019-07-24 14:25:29 214

原创 常见的第三方UI库

第三方UI库1 bootstrapBootstrap是Twitter推出的一个用于前端开发的开源工具包。它由Twitter的设计师Mark Otto和Jacob Thornton合作开发,是一个CSS/HTML框架(老牌ui插件,作为新手来说,很推荐)网址:http://www.bootcss.com/2semanticSemantic作为一款开发框架,帮助开...

2019-07-24 14:02:31 1006

原创 实时通信!WebSocket

很久以前是学过,今天公司要求一个功能,两个页面实时更新其他人的投票数据。计时器加ajax可以实现但是太LOW且性能实在是低,于是我们用了webscoket;WebSocket是SWOOL中的其中一个服务,想用得先安装swool.这只是一个大体的步骤demo,具体代码不方便贴,所以不要抄,要了解原理。1.下载pecl install swoole2.开启websocket...

2019-07-23 16:08:38 304

原创 antv之G2-mobile

有个大傻子在朋友圈发要和antv决一死战... 我就想看看是啥玩意。。。antv官网:http://antvis.github.io/界面是酱紫:点G2—moddle进去是开发手册,是一个将数据变为表格的插件。引入模式有两种,一是阿里的在线资源,另外一个是项目相对路径的,和大多数插件一样。具体代码和图形在这:http://antvis.github.io/g2-mob...

2019-07-23 15:49:39 3581

原创 php冒泡

冒泡排序算法的原理如下:比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。针对所有的元素重复以上的步骤,除了最后一个。持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。<?php$arr = array('5','2','0','1','3','...

2019-06-03 15:36:44 230

原创 保存图片到某地方

if($_POST['image']){ $base64_image_content=$_POST['image']; if($base64_image_content){// $path='demo.te.bjdezd.com/static/upimage/'; ...

2019-03-27 16:36:43 147

原创 php根据前端输入的一些值进行查询,和实时查询符合的字段

要离职了,所以最近写的博客比较多,都是对以前的总结,一想起来好多之前功能没及时整理,就好懊恼:一、根据前端输入的一些值进行查询 总的思路是:获取前端的值,然后拼接一个where的字符串,然后把这个字符串当做where的条件,代码如下:public function check() { if($_POST){ $school=...

2019-03-27 16:33:44 1432

原创 formdata上传文件出现的种种错误

我先说一下产品环境: 一个页面有功能1:上传文件2:其他的个人信息。个人信息不是用input标签写的而是用其他标签写的比如p,span等,但是上传文件必须得用到form了。那就需要用formdata了。 formdata是一个对象,你先new出来,然后给他的里边添加你要的参数。把它作为一个整体用ajax的data传给后台。//---------...

2019-03-27 16:22:52 9532

原创 1.ajax和phpexcel怎么进行传输? 2.下载后,显示文件可能被破坏或者后缀名不.... 打不开文件?

1.ajax和phpexcel怎么进行传输?ajax前后端传输的时候,前端给值,后端通过传来的id进行下载。如果下载不了,你可以看一下你返回给前端的值,如果是乱码,那就是有值,但是ajax不能解析而已。这时候会发现你是用$PHPWriter->save("php://output"); 输出的这个文件。因为你是前后端通过ajax,所以当然不能用output来输出了...

2019-03-25 20:07:11 334

原创 RESTful 个人理解总结

转自:https://www.cnblogs.com/wang-yaz/p/9237981.html一.什么是RESTful 面向资源简单的说:RESTful是一种架构的规范与约束、原则,符合这种规范的架构就是RESTful架构。先看REST是什么意思,英文Representational state transfer 表述性状态转移 其实就是对 资源 的表述性状态转移。(什...

2019-03-20 15:59:21 105

原创 tp5杂项

有的助手函数很好用,收集一下:1.print_r(Db::getLastSql()); //得到最后一条sql语句;2.print_r(Db::table('table_name')->getLastSql()); //得到指定表的最后一条sql语句...

2019-03-19 10:27:58 112

原创 tp5和 phpexcel 导入导出和变背景颜色

以前公司用过一次简单的,现在要添加新功能,所以趁机会总结一波到导入导出和应该注意的问题;0、先下载这个插件,然后解压到vendor中。 温馨提示:我文中的vendor("PHPExcel.PHPExcel.PHPExcel");是因为我改了第二个文件名字,你根据自己的文件名字来。1、导出:public function outExcel() { $p...

2019-03-13 18:26:16 2906

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除