php后端
文章平均质量分 67
杰哥是大佬
这个作者很懒,什么都没留下…
展开
-
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 · 243 阅读 · 0 评论 -
乐观锁
乐观锁介绍:乐观锁( Optimistic Locking ) 相对悲观锁而言,乐观锁假设认为数据一般情况下不会造成冲突,所以在数据进行提交更新的时候,才会正式对数据的冲突与否进行检测,如果发现冲突了,则让返回用户错误的信息,让用户决定如何去做。那么我们如何实现乐观锁呢,一般来说有以下2种方式:1、使用版本号实现乐观锁版本号的实现方式有两种,一个是数据版本机制,一个是时间戳机制。具体如下。a.使用数据版本(Version)记录机制实现,这是乐观锁最常用的一种实现方式。何谓数据版本?即为数据增原创 2020-12-08 12:00:23 · 554 阅读 · 0 评论 -
RabbitMQ和Kafka到底怎么选?
RabbitMQ和Kafka到底怎么选?前言开源社区有好多优秀的队列中间件,比如RabbitMQ和Kafka,每个队列都貌似有其特性,在进行工程选择时,往往眼花缭乱,不知所措。对于RabbitMQ和Kafka,到底应该选哪个?RabbitMQ架构RabbitMQ是一个分布式系统,这里面有几个抽象概念。broker:每个节点运行的服务程序,功能为维护该节点的队列的增删以及转发队列操作请求。 master queue:每个队列都分为一个主队列和若干个镜像队列。 mirror queue:原创 2020-12-08 10:51:40 · 139 阅读 · 0 评论 -
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 · 121 阅读 · 0 评论 -
进程>线程>协程
进程>线程>协程进程是资源分配的最小单位,线程是CPU调度的最小单位做个简单的比喻:进程=火车,线程=车厢线程在进程下行进(单纯的车厢无法运行) 一个进程可以包含多个线程(一辆火车可以有多个车厢) 不同进程间数据很难共享(一辆火车上的乘客很难换到另外一辆火车,比如站点换乘) 同一进程下不同线程间数据很易共享(A车厢换到B车厢很容易) 进程要比线程消耗更多的计算机资源(采用多列火车相比多个车厢更耗资源) 进程间不会相互影响,一个线程挂掉将导致整个进程挂掉(一列火车不会影.原创 2020-11-26 18:44:47 · 92 阅读 · 0 评论 -
jwt 和 session的取舍
一、session 1.传统的session认证 http协议本身是一种无状态的协议,而这就意味着如果用户向我们的应用提供了用户名和密码来进行用户认证,那么下一次请求时,用户还要再一次进行用户认证才行,因为根据http协议,我们并不能知道是哪个用户发出的请求,所以为了让我们的应用能识别是哪个用户发出的请求,我们只能在服务器存储一份用户登录的信息,这份登录信息会在响应时传递给浏览器,告诉其保存为cookie,以便下次请求时发送给我们的应用,这样我们的应用就能识别请求...原创 2020-11-01 19:43:46 · 939 阅读 · 0 评论 -
域名未授权 / 该网站未授权,禁止使用 解决办法:
公司买了一个商城项目,让我先搭个测试环境,然后二开,于是我经过披荆斩棘申请二级域名、配置LNMP后,遇见了诡异的事情: 页面提示我:该网站未授权,禁止访问。 在network里边,可以看到我们的域名解析正常,状态码200正常,那我们就可以断定和nginx的部分已经没有关系了。 引发思考:1.config配置了,或者规定了,只能是哪个IP或者哪...原创 2020-04-09 15:13:37 · 12064 阅读 · 6 评论 -
TCPDF 使用
分为两部分:一、编辑书写pdf的html页面 public function DownContractpdf() { // 导出考试结果明细(PDF) $content = '<!doctype html>'; $content .= '<html lang="en">'; ...原创 2020-01-06 17:23:32 · 3670 阅读 · 0 评论 -
快速部署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 · 152 阅读 · 0 评论 -
保存图片到某地方
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 · 126 阅读 · 0 评论 -
php冒泡
冒泡排序算法的原理如下:比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。针对所有的元素重复以上的步骤,除了最后一个。持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。<?php$arr = array('5','2','0','1','3','...原创 2019-06-03 15:36:44 · 207 阅读 · 0 评论 -
PHP面试总结
找了一个月的工作,总结了一些问的问题,排名分先后!1.数据库优化(绝大多数公司必问)答:https://blog.csdn.net/weixin_42165130/article/details/830654092.优化服务器性能,提高运行速度?(百度-度小满、部分小公司)答:服务器性能优化涉及面比较广,我主要做过以下优化:①数据库优化(详细见题一)②代码优化(...原创 2019-06-03 15:48:27 · 333 阅读 · 0 评论 -
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 · 142 阅读 · 0 评论 -
PHP面试总结(2)
1、char和varchart的区别:大小:char的长度是不可变的,而varchar的长度是可变的。取出:取数据的时候,char类型的要用trim()去掉多余的空格,而varchar是不需要的。读取速度:char的存取数度还是要比varchar要快得多,因为其长度固定,方便程序的存储与查找;但是char也为此付出的是空间的代价,因为其长度固定,所以难免会有多余的空格占位符占据...原创 2019-07-24 14:25:29 · 186 阅读 · 0 评论 -
phpstorm误删文件恢复
1.如果刚删除不久打开View->Recent Changes->Deleting2.如果删除有段时间,且第一个方法走不通 尝试创建和误删文件同名的文件然后右键Local History -> show history,成功恢复。...原创 2019-08-09 00:54:44 · 343 阅读 · 0 评论 -
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 · 1652 阅读 · 0 评论 -
restful
一.概念和区别:1.关于restrest:representational state transfer表述性状态转移,是一种架构风格。rest原则:<1>网络上的所有事物都被抽象为资源<2> 每个资源都有一个唯一的资源标识符<3> 同一个资源具有多种表现形式(xml,json等)<4>...转载 2019-09-17 17:41:56 · 84 阅读 · 0 评论 -
清空表并且从id为1重新开始
TRUNCATE TABLE 表名清空表内的所有数据,而且使标识列从标识种子(一般标识种子从1开始)重新开始原创 2019-09-29 16:46:03 · 275 阅读 · 1 评论 -
php根据前端输入的一些值进行查询,和实时查询符合的字段
要离职了,所以最近写的博客比较多,都是对以前的总结,一想起来好多之前功能没及时整理,就好懊恼:一、根据前端输入的一些值进行查询 总的思路是:获取前端的值,然后拼接一个where的字符串,然后把这个字符串当做where的条件,代码如下:public function check() { if($_POST){ $school=...原创 2019-03-27 16:33:44 · 1367 阅读 · 0 评论 -
formdata上传文件出现的种种错误
我先说一下产品环境: 一个页面有功能1:上传文件2:其他的个人信息。个人信息不是用input标签写的而是用其他标签写的比如p,span等,但是上传文件必须得用到form了。那就需要用formdata了。 formdata是一个对象,你先new出来,然后给他的里边添加你要的参数。把它作为一个整体用ajax的data传给后台。//---------...原创 2019-03-27 16:22:52 · 9382 阅读 · 0 评论 -
常见的网站服务器架构有哪些?
1. 初始阶段的网站架构一般来讲,大型网站都是从小型网站发展而来,一开始的架构都比较简单,随着业务复杂和用户量的激增,才开始做很多架构上的改进。当它还是小型网站的时候,没有太多访客,一般来讲只需要一台服务器就够了,这时应用程序、数据库、文件等所有资源都在一台服务器上2. 应用服务和数据服务分离随着网站业务的发展和用户量的增加,一台服务器就无法再满足需求了。大量用户访问导致访问速度越来...转载 2018-12-04 16:17:22 · 186 阅读 · 1 评论 -
.user.ini 与 .htacces
一、总的来说:.htaccess是伪静态文件 .user.ini 是防止脚本跨目录执行的 不是防止ftp二、.htacces:LNMPA或LAMP可以直接使用网站根目录下放.htaccess 来设置伪静态规则(具体规则可以去程序官网网站找google百度),但是在LNMP下,需要使用Nginx伪静态规则。伪静态可以随时添加或删除,如果添加完虚拟主机后忘记或没有添加伪静态,可以通过修改...原创 2018-11-26 18:37:19 · 2650 阅读 · 0 评论 -
PHPStorm FTP upload could not change to work directory 无法更改目录
PHPStorm FTP upload could not change to work directory 无法更改目录出现这个问题可能是因为ftp的路径写错了,在你填写 root path 的时候不要写路径,因为你的ftp的账号权限已经到你的文件夹目录了,比如www/html/test. 要是你在root path 这在写一个路径就成为了 www/html/test/www/html/...原创 2018-11-19 09:42:56 · 2057 阅读 · 0 评论 -
web安全
总公司老被攻击,所以总结一下web安全的事项。一.把握整站的结构,避免泄露站点敏感目录 1.单入口项目(Single Page Application - SPA),隐藏index.php2.常量定义3.pathinfo eg:Index.php/m/v/c 变 m/v/c4.路由:对你的路径简化+保护 eg...原创 2018-10-23 16:18:53 · 260 阅读 · 0 评论 -
nosql--------memcache与redis
本文有三部分:1、两者不同 2、memcache 3、redis一、不同点对比:①从数据存储位置上来分,memcache的数据存在内存中,而redis既可以存储在内存中,也可以存储的到磁盘中,达到持久化存储的功能,memcache一旦断电,数据全部丢失,redis可以利用快照和AOF把数据存到磁盘中,当恢复时又从磁盘中读取到内存中,当物理内存使用完毕后,可以把数据写入到磁盘中。...原创 2018-10-23 16:20:59 · 117 阅读 · 0 评论 -
避免php代码中的中文在浏览器中成为乱码
php代码中开头加: header("Content-type:text/html;charset=utf-8");这条语句要放在文件的最前面。 如果是在html代码中,要加上<Meta http-equiv="Content-Type" Content="text/html; Charset=utf-8">...原创 2018-09-20 14:59:42 · 1865 阅读 · 0 评论 -
多维数组排序 array_multisort($id, SORT_ASC, $data);
多维数组排序通常我们从数据库取出来的$data=array( array('id' => 67, 'score' => 20,'name'=>'小明'), array('id' => 86, 'score' => 10,'name'=>'小红'), array('id' => 85, 'score' => 60,'n...原创 2019-02-21 16:54:28 · 1121 阅读 · 0 评论 -
新建的服务器,上传图片传不上去?500错误
新搭建的服务器,传图片时候报错500,。 因为是在本地已经建好的项目上传到服务器,所以在本地是可以上传的。那就排除了是图片大小,格式,代码的错误问题。那就只剩下是权限问题了,但是,不要只给最顶层的777,要给你的上传路径的所有文件夹都777。...原创 2019-02-19 16:13:29 · 1863 阅读 · 0 评论 -
tp5杂项
有的助手函数很好用,收集一下:1.print_r(Db::getLastSql()); //得到最后一条sql语句;2.print_r(Db::table('table_name')->getLastSql()); //得到指定表的最后一条sql语句...原创 2019-03-19 10:27:58 · 91 阅读 · 0 评论 -
1.ajax和phpexcel怎么进行传输? 2.下载后,显示文件可能被破坏或者后缀名不.... 打不开文件?
1.ajax和phpexcel怎么进行传输?ajax前后端传输的时候,前端给值,后端通过传来的id进行下载。如果下载不了,你可以看一下你返回给前端的值,如果是乱码,那就是有值,但是ajax不能解析而已。这时候会发现你是用$PHPWriter->save("php://output"); 输出的这个文件。因为你是前后端通过ajax,所以当然不能用output来输出了...原创 2019-03-25 20:07:11 · 297 阅读 · 0 评论 -
tp5和 phpexcel 导入导出和变背景颜色
以前公司用过一次简单的,现在要添加新功能,所以趁机会总结一波到导入导出和应该注意的问题;0、先下载这个插件,然后解压到vendor中。 温馨提示:我文中的vendor("PHPExcel.PHPExcel.PHPExcel");是因为我改了第二个文件名字,你根据自己的文件名字来。1、导出:public function outExcel() { $p...原创 2019-03-13 18:26:16 · 2829 阅读 · 0 评论 -
RESTful 个人理解总结
转自:https://www.cnblogs.com/wang-yaz/p/9237981.html一.什么是RESTful 面向资源简单的说:RESTful是一种架构的规范与约束、原则,符合这种规范的架构就是RESTful架构。先看REST是什么意思,英文Representational state transfer 表述性状态转移 其实就是对 资源 的表述性状态转移。(什...原创 2019-03-20 15:59:21 · 85 阅读 · 0 评论 -
Column not found: 1054 Unknown column '' in 'where clause'
Column not found: 1054 Unknown column '张123' in 'where clause'出现这个问题是因为系统把你以为的字符串当做了mysql的关键字。比如,你的sql是这样写的:$teacher=Db::table('dr_teacher')->where("name=$conditions and is_del<>2")-&g...原创 2019-03-11 17:42:32 · 30805 阅读 · 1 评论 -
TortoiseSVN新人使用指南
转自:https://blog.csdn.net/maplejaw_/article/details/52874348这篇文章源于6月份给公司新人作的关于SVN使用的培训,转眼已经过了几个月的时间,丢了也怪可惜的,于是整理出来希望能够帮助后来人快速入门。 安装说明 使用说明 检出项目 导入项目 提交 更新 查看日志 版本回滚 版本控制...转载 2019-02-21 11:28:25 · 143 阅读 · 0 评论 -
PHP设计模式系列
PHP设计模式系列:简单工厂模式PHP设计模式系列(一):策略模式PHP设计模式系列(二):装饰模式PHP设计模式系列(三):代理模式PHP设计模式系列(四):工厂方法模式PHP设计模式系列(五):原型模式PHP设计模式系列(六):模板方法模式PHP设计模式系列(七):外观模式PHP设计模式系列(八):建造者模式PHP设计模式系列(九):观察者模式PHP设计...原创 2019-02-25 18:50:11 · 159 阅读 · 0 评论 -
深入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 · 1620 阅读 · 1 评论 -
tp5 Apache 隐藏index.php入口文件
下面是Apache的配置过程,可以参考下:1、httpd.conf配置文件中加载了mod_rewrite.so模块2、AllowOverride None 将None改为 All3、在应用入口文件同级目录添加.htaccess文件,内容如下:<IfModule mod_rewrite.c>Options +FollowSymlinks -MultiviewsRewri...原创 2018-07-31 15:26:12 · 1273 阅读 · 0 评论