![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
后端
文章平均质量分 88
猿粪已尽
萌新,学习的道路不断成长
展开
-
LARAVEL --JOBS (同步\异步)消息队列 QUEUE --晋升篇
本篇博客为了更明确异步消息队列和同步消息队列的实现原理 以MySQL消息队列为示例,但是在真正的项目中(如果没有单独的异步服务器,则建议使用Redis消息队列)一、简介Laravel 的队列服务为不同的队列后端系统提供了一套统一的 API 。队列允许你将一个耗时的任务进行延迟处理,例如像 e-mail 发送。这能让应用程序对页面的请求有更快的响应。二、配置队列的配置文件被保存在 config/queue.php 中。但是Laravel中优先选用.env的配置在这个文件内你可以找到包含在 La转载 2022-03-25 19:55:26 · 3170 阅读 · 0 评论 -
PHP 实现 Websocket 协议
当初作为编程小白的我,刚刚从事后台工作,觉得 http 是个很牛逼的东西,然而后面随着自己深入学习并实践之后,觉得原来和我所想的天壤之别,没大家想象的那么复杂,仅仅是个协议嘛!。后面学习的东西多了,慢慢的就淡定了。今天这里之所以要讲 websocket,而不是其它的协议,从某种意义上来说(请允许我装个逼),更能说明问题,如果你把 websocket 都搞懂了,那么 http 对于你来说,简直就是雕虫小技啊,关于 websocket 的代码,以前我使用 C 和 C++ 写的,但是为了 PHP 的 coder(转载 2020-09-09 11:26:28 · 317 阅读 · 3 评论 -
PHP中使用websocket
在PHP中,开发者需要考虑的东西比较多,从socket的连接、建立、绑定、监听等都需要开发者自己去操作完成,对于初学者来说,难度方面也挺大的,所以本文的思路如下:1、socket协议的简介2、介绍client与server之间的连接原理3、PHP中建立socket的过程讲解4、用一个聊天室作为实例详细讲解在PHP中如何使用socket一、socket协议的简介 WebSocket是什么,有什么优点 WebSocket是一个持久化的协议,这是相对于http非持久化来说的。转载 2020-09-09 11:18:50 · 4506 阅读 · 2 评论 -
PHP设计模式
1.单例模式https://baijunyao.com/article/1592. 简单工厂模式https://baijunyao.com/article/1613.工厂方法模式https://baijunyao.com/article/1624.抽象工厂模式https://baijunyao.com/article/1645.使用简单工厂来优化抽象工厂模式h...转载 2019-11-12 17:36:13 · 144 阅读 · 0 评论 -
服务器端实现接口的token验证
第一步服务端要生成Token值自己编写的生成随机字符串第二步我们将生成的token作为Redis缓存的键来存储我们可以在Redis缓存里面设置token过期的时间。第三步也是我们经常要做的,对token进行验证,判断当前token是否有效给出Redis缓存代码...转载 2019-10-22 15:44:51 · 3201 阅读 · 0 评论 -
Laravel自带SMTP邮件组件实现发送邮件(QQ、163、企业邮箱都可)
原文链接:https://blog.csdn.net/woqianduo/article/details/81024244laravel自带SMTP邮件配置和遇到的坑laravel自带SwiftMailer库,集成了多种邮件API,可以很方便的实现邮件的发送。在本教程中使用到的是SMTP(Simple Message Transfer Protocol)简单邮件传输协议,通常理解为邮件发送...转载 2019-06-13 16:42:18 · 2217 阅读 · 0 评论 -
Laravel 中的缓存使用
原文链接:https://blog.csdn.net/m0_37865510/article/details/88411245Laravel 为各种不同的缓存系统提供了一致的apiLaravel支持各种常见的后端缓存系统,如File,Memcache和Redis主要方法:put()get()add()pull()forever()forget()has...转载 2019-06-13 16:50:24 · 1269 阅读 · 0 评论 -
PHP 解决INT类型转换 精度丢失问题
公司项目在添加商品的时候当商品价格输入为19.9的时候,录入到数据库就变为19.89了 。这里需要把元转换为分,直接乘以100就可以,但是又使用了转化整数类型的函数:int 或者 intval 结果都会少1可以看出原本结果应该是1840的,但是使用了函数intval() 和 (int) 之后结果居然变为了1639了,这是由于浮点类型的数字不能在不丢失一点儿精度的情况下通过...原创 2019-07-02 17:22:19 · 2252 阅读 · 0 评论 -
lamp环境搭建教程
原文链接:https://www.howtoforge.com/apache_php_mysql_on_centos_7_lamphttps://www.cnblogs.com/apro-abra/p/4862285.html在网上搜资料,自己在本地虚拟机上尝试搭建,弄了整整一天一夜,终于弄好了.网上的资料,虽然很多,但大多都是重复的,拿去试了之后,又很多都不能得到正确的结果.最终找到了...转载 2019-06-06 14:30:00 · 1035 阅读 · 0 评论 -
Laravel数据库操作的三种方式
原文链接:https://www.jianshu.com/p/d79962751ebfLaravel提供了3种操作数据库方式:DB facade(原始方式)、查询构造器和Eloquent ORM。数据库的配置文件在config目录下的database.php里。打开这个文件,找到mysql的配置项。配置这里有个env,它其实是调用了laravel根目录下的.env文件,这...转载 2019-06-06 11:18:36 · 228 阅读 · 0 评论 -
PHP 操作 Redis 的基本方法
原文链接:https://learnku.com/articles/229421 redis 的连接 : //实例化redis$redis = new Redis();//连接 $redis->connect('127.0.0.1', 6379);//检测是否连接成功echo "Server is running: " . $redis->ping();// 输出...转载 2019-06-12 17:11:11 · 90 阅读 · 0 评论 -
PHP安全编程:防止SQL注入
转自:https://blog.csdn.net/come_on_air/article/details/73330728SQL 注入是PHP应用中最常见的漏洞之一。事实上令人惊奇的是,开发者要同时犯两个错误才会引发一个SQL注入漏洞,一个是没有对输入的数据进行过滤(过滤输入),还有一个是没有对发送到数据库的数据进行转义(转义输出)。这两个重要的步骤缺一不可,需要同时加以特别关注以减少程序错误...转载 2019-05-31 17:22:04 · 1560 阅读 · 0 评论 -
laravel5 使用redis的个人总结
laravel5 有俩种使用redis的方法,非框架调用和框架调用非框架调用:$redis = new redis(); $result = $redis->connect('127.0.0.1', 6379); $result = $redis->set('test',"11111111111"); //添加key/value记录$result = $r...转载 2019-06-12 15:30:01 · 373 阅读 · 0 评论 -
关于tp3.2实现redis做图形验证码的经验总结
最近遇到一个问题,就是跨域会丢失session的问题,然后一开始想到的就是用token做,但是后来做忘记密码这个功能,涉及到的类文件库里面有session,会丢失导致验证一直失败,思路就变了。也是查阅了很多资料,借鉴了很多前辈的经验,经过不断测试,终于解决了这个问题。这里是把tp自带的verify类改写成redis方式实现的。这个可以查看我上一篇文章。一开始是redis 类没有建立。然后我...原创 2019-05-21 17:50:45 · 394 阅读 · 0 评论 -
Laravel 错误&&日志
原文链接:https://www.cnblogs.com/liaohui5/p/10581636.htmlDebug 模式(调试/开发模式)配置文件:config/app.php开发时, 建议打开这个模式,既设置 APP_DEBUG = true 上线时, 建议关闭调试模式,既设置 APP_DEBUG = falsehttp异常及自定义异常页面 常见的 http错误码...转载 2019-06-13 17:09:57 · 151 阅读 · 0 评论 -
laravel队列应用
原文链接:https://blog.csdn.net/qq_39337886/article/details/82024081//修改.env配置文件QUEUE_DRIVER=database迁移队列需要数据表php artisan queue:tablephp artisan migrate命令行创建任务类php artisan make:job SendE...转载 2019-06-13 17:36:07 · 1324 阅读 · 0 评论 -
网站安全(预防XSS攻击和SQL入注的封装函数)
预防XSS攻击,主要就是过滤用户的输入,通常使用的是Htmlspecialchars函数。这里主要介绍的是使用HTMLPurifier拓展库完成的过滤,HTMLPurifier下载地址http://htmlpurifier.org///防止xss攻击的特殊方法(过滤字符串)function fanXSS($string) { //require_once './Plugin/html...原创 2019-06-04 15:25:48 · 158 阅读 · 0 评论 -
用户停留网站无操作,一定时间自动退出
src="http://cdn.bootcss.com/jquery/1.11.2/jquery.min.js"> 停留30分钟自动退出一定时间没操作就退出 type="text/javascript"> var maxTime = 5; // seconds var time = maxTime; $('body').on('keydown mousemove mouse转载 2017-11-24 11:45:56 · 5967 阅读 · 0 评论 -
再谈PHP错误与异常处理try catch
博客好久没有更新了,实在惭愧,最近在忙人生大事,哈哈!这段时间没有看什么新的东西,结合项目中遇到的PHP异常处理问题,我又重新梳理了之前模糊的概念,希望对大家理解PHP异常处理有所帮助。 请一定要注意,没有特殊说明:本例PHP Version < 7 说起PHP异常处理,大家首先会想到try-catch,那好,我们先看一段程序吧:有一个test.php文件,有一段简单的PHP程序...转载 2019-10-08 17:53:21 · 693 阅读 · 0 评论 -
Apache如何提高并发连接请求数量
使用Apache作为HTTP服务器的站点,不可避免的会遇到这个问题:apache负载很低,但是访问web服务器非常慢。排除脚本程序的原因后,基本上就是apache设置问题。以下内容或许能够帮助解决这个问题。1. 首先要了解Apache采用的MPM(Multi -Processing Modules,多道处理模块)MPM是Apache的核心,它的作用是管理网络连接、调度请求。Apa...转载 2019-08-06 17:10:27 · 398 阅读 · 0 评论 -
阿里云服务器配置选择方法和经验(CPU+内存+宽带) ...
阿里云ECS云服务器配置的选择不仅仅包括CPU核数、内存及宽带多少,还需要根据实际业务场景选择对应的规格族,云吞铺子分享阿里云服务器的选配方法和经验:云服务器的CPU+内存选配普通的个人小型网站,如:个人博客等小流量网站,可选择入门级配置的云服务器 推荐配置:1核CPU、1G或2G内存、硬盘40G、1M或2M带宽 论坛、门户类网站:论坛、门户类网站,用户活跃性与访问量较高,为了保证足够...转载 2019-07-31 14:57:17 · 2347 阅读 · 1 评论 -
PHP单例
原文:https://www.cnblogs.com/wwjchina/p/7724271.html单例模式,是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中一个类只有一个实例。即一个类只有一个对象实例。要点主要有三个:1.一个类只能有一个对象;2.必须是自行创建这个类的对象;3,要想整个系统提供这一个对象;从具体实现...转载 2019-06-12 10:54:39 · 310 阅读 · 0 评论 -
Php中用PDO查询Mysql来避免SQL注入风险的方法
原文链接:https://www.jb51.net/article/36044.htm当我们使用传统的 mysql_connect 、mysql_query方法来连接查询数据库时,如果过滤不严,就有SQL注入风险,导致网站被攻击,失去控制。虽然可以用mysql_real_escape_string()函数过滤用户提交的值,但是也有缺陷。而使用PHP的PDO扩展的 prepare 方法,就可以避...转载 2019-06-04 15:30:13 · 177 阅读 · 0 评论 -
用Redis替代session改写thinkPHP验证码类
原文链接:https://blog.csdn.net/kunpeng1987/article/details/80259904最近有一个项目,因为后端用的是thinkPHP框架,前端用的VueJS框架,需要用到验证码,由于都是用的API,所以原有的tp框架验证码类采用的session存储方式无法实现需求,需要进行改写。记录一下过程,并分享给大家以供参考。验证码类中主要涉及到两个方法,一个是...转载 2019-05-20 17:56:22 · 479 阅读 · 0 评论 -
PHP 阿里云短信服务
转自:https://blog.csdn.net/qq_23375733/article/details/88813262短信服务(Short Message Service)是指通过调用短信发送API,将指定短信内容发送给指定手机用户。用户收到的短信来自106开头的号码,短信的内容多用于企业向用户传递验证码、系统通知、会员服务等信息。短信使用流程见下图:阿里云短信服务...转载 2019-05-08 17:56:18 · 1116 阅读 · 0 评论 -
tp中的M,D,C,A,I,S方法
才开始接触tp,对里面的大写字母方法不是很理解。现在清晰多了。D方法实例化模型类的时候通常是实例化某个具体的模型类,如果仅仅是对数据表进行基本的CURD操作的话,可以使用M方法.由于不要加载具体的模型类,所以性能会更好.如果D方法没有找到定义的模型类,则会自动调用M方法.M方法//使用M方法实例化$User = M('User');//和用法$User = new \Think\...转载 2018-09-13 15:39:20 · 252 阅读 · 0 评论 -
微信小程序的开发之搜索功能
就直接贴代码啦~wxml<view class="weui-search-bar"> <view class="weui-search-bar__form"> <view class="weui-search-bar__box"> <icon class="weui-icon-search_in-box&q转载 2018-09-04 10:38:13 · 779 阅读 · 0 评论 -
PHP后台开发微信公众号实例
本文主要和大家分享PHP后台开发微信公众号实例,包括微信接入、获取微信用户信息、微信支付、JSSDK配置参数获取等部分。如果读者对微信开发没有一个主观上的认识,那么建议读者先研读微信公众平台开发者文档,然后再阅读本文,效果更佳! 微信开发的完整例子已经整理在Github,欢迎查看: yii2-wechat-demo。【八宝粥的博客】接入微信Yii2后台配置1.在app/conf...转载 2018-08-30 17:27:45 · 684 阅读 · 0 评论 -
微信小程序实现与后台PHP交互
接下来将讲后台如何与前台进行数据及图片之间的交互,相信这一点是很多人所关注的,因为当时我实在团队中负责后台开发,因此对前端不是特别了解,这里我会贴出前端开发时的部分代码截图,微信小程序的官方api介绍地址是: https://mp.weixin.qq.com/debug/wxadoc/dev/api/api-network.html微信与后台服务器之间的数据通信是调用wx.reques...转载 2018-08-30 17:19:37 · 4721 阅读 · 1 评论 -
获取二维数组中的元素(PHP 5.5新增函数),兼容低版本处理
function i_array_column($input, $columnKey, $indexKey=null){ if(!function_exists('array_column')){ $columnKeyIsNumber = (is_numeric($columnKey))?true:false; $inde原创 2017-11-01 14:03:02 · 231 阅读 · 0 评论 -
获取二维数组中的元素(PHP 5.5新增函数),兼容低版本处理
function i_array_column($input, $columnKey, $indexKey=null){ if(!function_exists('array_column')){ $columnKeyIsNumber = (is_numeric($columnKey))?true:false; $inde原创 2017-11-01 14:01:37 · 346 阅读 · 0 评论 -
TP框架中如何查看PHP信息,例如查找执行哪个php.ini文件
新建文本文档,填写下面内容: <?phpphpinfo();?> 保存,然后更改文件名为phpinfo.php放到你域名根目录,然后通过你的域名+phpinfo.php浏览查看。原创 2017-09-06 09:28:07 · 1502 阅读 · 0 评论 -
TP3.2数据库转换
除了在预先定义数据库连接和实例化的时候指定数据库连接外,我们还可以在模型操作过程中动态的切换数据库,支持切换到相同和不同的数据库类型。用法很简单, 只需要调用Model类的db方法,用法:Model->db("数据库编号","数据库配置");数据库编号用数字格式,对于已经调用过的数据库连接,是不需要再传入数据库连接信息的,系统会自动记录。对于默认的数据库连接,内部的数据库编号是0,因此为了转载 2017-08-30 17:19:39 · 272 阅读 · 0 评论 -
ThinkPHP3.2.3使用分页
首先要搞清楚的就是ThinkPHP3.2.3的分页类已经被移到了Think\Page.class.php,这是跟以前的版本有些不一样的,使用起来还是跟以前版本差不多,但是默认的效果不敢恭维,所以最好是自己加些样式。我加了一些样式(不怎么好看),大家可以自行的再去改进分页样式,效果图:在这里我有先把page的设置做成了一个函数getpage,将这个方法放到Application\Comm转载 2017-08-31 09:55:15 · 183 阅读 · 0 评论 -
PHP实现微信开发中提现功能(企业付款到用户零钱)
https://www.cnblogs.com/echoppy/p/8603286.html一.实现该功能目的 这几天在小程序里要实现用户从系统中提现到零钱的功能,查了一下文档可以使用 企业付款到用户零钱 来实现; 官方文档:https://pay.weixin.qq.com/wiki/doc/api/tools/mch_pay.php?chapter=14_1; 注意...转载 2018-09-25 17:16:04 · 3920 阅读 · 0 评论 -
网站https前安全锁有感叹号的解决方法
现在越来越多的网站改成了https认证访问了,但是我发现很多给网站加了https身份验证的网站都没有解决一个问题,那就是网址前的安全锁出现感叹号。我看了几个有这个问题的网站,发现基本上网站资源路径都是改了的,那么为什么还是会出现安全锁的感叹号呢?其实https安全锁出现感叹号的原因在于:网站页面上面引用了不是https的网页,最常见的就是友情链接、网站程序版权标注等地方了。而如果这些网站的链接...转载 2018-09-28 14:01:18 · 8819 阅读 · 0 评论 -
Thinkphp利用execl实现批量导入和导出
转自:https://www.cnblogs.com/shenlin/p/7826664.html准备工作:1、tp环境(本人使用的是tp3.2)。2、phpexecl扩展包,下载地址:点击下载,下载地址(class.php): 1 <a href="http://www.ediut.com/soft/PHPExcel.class.rar"/>...转载 2018-10-22 16:36:06 · 1111 阅读 · 1 评论 -
Composer 安装与使用
Composer 的安装Wondows 平台Wondows 平台上,我们只需要下载Composer-Setup.exe后,一步步安装即可。需要注意的是你需要开启 openssl 配置,我们打开 php 目录下的 php.ini,将extension=php_openssl.dll前面的分号去掉就可以了。安装成功后,我们可以通过命令窗口(cmd) 输入composer ...转载 2019-03-27 16:47:45 · 338 阅读 · 0 评论 -
Phpstorm中的git使用(2)--拉取工程与composer使用
之前我在一台电脑上将一份不完整的工程保存在github上,现在我回到家中,换了一台电脑,接下来就是要用另一台电脑拉取github中的工程,并用composer把整个工程的依赖文件什么乱七八糟的文件都下下好。1.首先打开phpstorm,按图选择。2.选择要拉取的库,当然要保证这台机器的phpstorm里的git和github已经连接成功,否则是读不到远程端的所有仓库的,选择...转载 2019-03-27 16:11:40 · 987 阅读 · 0 评论 -
Phpstorm中的git使用(1)--创建本地仓库与推送
这段时间在学php的laravel框架,用的开发软件是xampp建站集成软件和phpstorm,前几天做完了表单处理工程,因为上班和在家用的是两台电脑,所以需要用github来保存代码,在这里记录下phpstorm中的git使用,以免以后忘了。我已经写了一部分的代码的工程,我现在的第一步就是推送到我的远程仓库上去。首先,在file->settings->version cont...转载 2019-03-27 16:07:34 · 888 阅读 · 0 评论