
后端
文章平均质量分 61
lofate
自嘲墨尽,笑谈词穷。
展开
-
Windows+Phpstorm2021 Xdebug调试
1、下载xdebug php扩展,下载地址:Xdebug: Support — TailoredInstallation Instructions2、打开phpinfo页面,Ctrl+A全选页面,Ctrl+C复制phpinfo内的所有内存,沾粘到输入框中点击 “Analyse my phpinfo() output”按钮进行检测php对应扩展点击 Download 下载对应xdebug版本3、打开php.ini配置,添加如下代码[Xdebug]zend_e.原创 2021-10-22 17:51:33 · 800 阅读 · 0 评论 -
最新v4.2版本CRMEB商城API接口文档标准版后台(一)
CRMEB_标准版后台 基础接口登录页面图片数据 基本信息Path: /adminapi/login/infoMethod: GET接口描述:请求参数返回数据 名称类型是否必须默认值备注其他信息 statusnumber非必须 msgstring非必须 dataobject非必须├─ slidestring []非必须item 类型: string├─ 非必须├─ logo_squarestring非必须├─ logo_rectangle..原创 2021-08-24 11:23:32 · 1132 阅读 · 4 评论 -
PHP把价格数字全部替换为*&&PHP把字符串中的数字全部替换为*
项目需求:非会员情况下会员价格显示***.**$pattern = "/\d/";$replacement = "*";$price = preg_replace($pattern, $replacement, $price);原创 2021-06-16 17:43:29 · 389 阅读 · 5 评论 -
单点登录原理与简单实现
有了会话机制,登录状态就好明白了,我们假设浏览器第一次请求服务器需要输入用户名与密码验证身份,服务器拿到用户名密码去数据库比对,正确的话说明当前持有这个会话的用户是合法用户,应该将这个会话标记为“已授权”或者“已登录”等等之类的状态,既然是会话的状态,自然要保存在会话对象中,tomcat在会话对象中设置登录状态如下。如果不存储,注销的时候就麻烦了,用户向sso认证中心提交注销请求,sso认证中心注销全局会话,但不知道哪些系统用此全局会话建立了自己的局部会话,也不知道要向哪些子系统发送注销请求注销局部会话。转载 2021-05-29 09:47:27 · 278 阅读 · 0 评论 -
PHP怎样使用Xdebug进行调试&&PHP调试方法Xdebug调试
对有有经验的程序员,使用echo、print_r()、print_f()、var_dump()等函数足以调试php代码,如果你不喜欢这样的话,xdebug就是一个非常好的php调试工具。1 下载Xdebug扩展将phpinfo()中的信息全部复制到Xdebug中的文本框中,如下图所示:点击“Analyse my phpinfo() output”按钮。跳转到如下图所示页面,会对本机中的php进行分析,点击“1 Download php_xdebug-2.7.2-7.2-...原创 2021-05-28 09:08:08 · 1382 阅读 · 0 评论 -
session的工作原理&&session缓存&&浏览器缓存
当用户访问到一个服务器,如果服务器启用Session,服务器就要为该用户创建一个SESSION,在创建这个SESSION的时候,服务器首先检查这个用户发来的请求里是否包含了一个SESSION ID,如果包含了一个SESSION ID则说明之前该用户已经登陆过并为此用户创建过SESSION,那服务器就按照这个SESSION ID把这个SESSION在服务器的内存中查找出来,如果客户端请求里不包含有SESSION ID,则为该客户端创建一个SESSION并生成一个与此SESSION相关的SESSION ID。原创 2021-05-26 17:23:54 · 680 阅读 · 0 评论 -
解析thinkPHP基于反射实现钩子的方法
PHP系统自带的 ReflectionClass、ReflectionMethod 类,可以反射用户自定义类的中属性,方法的权限和参数等信息,通过这些信息可以准确的控制方法的执行。invoke( object $object [, mixed $parameter [, mixed $... ]] ) 执行方法。ThinkPHP框架的控制器模块是如何实现 前控制器、后控制器,及如何执行带参数的方法?invokeArgs(object obj, array args) 带参数执行方法。原创 2021-05-26 16:46:45 · 182 阅读 · 0 评论 -
2021-05-24一次给女朋友转账引发我对分布式事务的思考&&分布式事务&&事务处理
前两天发了工资,第一反应是想着要给远方的女朋友一点惊喜!于是打开了平安银行的APP给女朋友转点钱!填写上对方招商银行卡的卡号、开户名,一键转账!搞定!在我点击的那瞬间,就收到了app的账户变动的提醒,并且出现了图一所示的提示界面:“处理中,正在等待对方银行返回结果…”。嗯!毕竟是跨行转账嘛,等个几秒也正常!脑海开始浮现出女朋友收到转账后惊喜与感动的画面!然而,一切并没有那么顺利,刚过一会儿,app却如图二所示的提示我“由于收款人户名不符”导致转账失败!!!转载 2021-05-24 18:53:27 · 182 阅读 · 0 评论 -
PHP微信开发---小程序登录
三、这样你就获取到你需要的openid了,最好获取到openid以后存进数据库,避免重复获取。微信小程序登录以及获取openid(用户唯一标识)和session_key。二、后端接收code,获取openid和session_key。原创 2021-05-23 15:02:57 · 365 阅读 · 0 评论 -
微信小程序生成带参数的二维码以及小程序码
官方共给了三个接口调用,大家可以根据自己的实际情况来使用,我这里使用的是接口B和接口C。注:微信小程序js文件中接收scene所带的参数方法(小程序码需要这么接收)扫描二维码进入指定商品页面,需要的参数为商品id(goods_id)。原创 2021-05-23 12:12:46 · 3006 阅读 · 0 评论 -
php如何自动刷新页面
2、在index.php中,输入代码:echo ("<script>setTimeout('window.location.reload()', 1);1、首先,打开php编辑器,新建php文件,例如:index.php。3、浏览器运行index.php页面,此时发现页面会自动刷新。原创 2021-05-23 11:57:57 · 3925 阅读 · 0 评论 -
数据库编程之mariadb/mysql建立主从
这里介绍的是两节点主从,如果是集群模式,至少需要三个节点,因为偶数个节点是导致脑裂高发的原因(无法确定该同步谁的)。进入从节点的数据库,指定主库信息,完成主从关系建立(注意:下面命令中的【主节点 ip 地址】别忘记替换,使用。查看 slave 的状态,注意查看 slave 的进程状态,下面红色方框中圈起来的是两个。首先,你需要保证所有的节点数据一致,在升级过程中万一升级失败能及时的恢复数据。库和其下的表,如果要同步更多的库和表可以用逗号分隔,追加。,查看进程状态,确保没有额外的读写操作(原创 2021-05-23 11:43:55 · 197 阅读 · 0 评论 -
php数据导出插件phpspreadsheet内存优化
设置缓存节省内存:这里我们使用。原创 2021-05-23 11:33:03 · 1596 阅读 · 0 评论 -
php+mysql开发站内搜索+最近搜索+最近热搜
2、每次搜索关键词,都把该关键词插入数据库的keywords字段做记录,然后查询keywords所有记录并输出,即可实现最近搜索的关键词功能。数据库已有字段,也就是搜索这些字段是有结果的,如果搜索其它不存在的字段,就会echo "暂无资源!1、通过php查询mysql数据库的关键词,用%$_POST[keyword]%实现关键词搜索。3、计算keywords里所有重复字段并排序,输出前5个最多人搜索的关键词,即可实现最近热搜。sou.php ,这是表单提交页面+最近搜索,最近热搜关键词输出页面。原创 2021-05-23 10:54:12 · 358 阅读 · 0 评论 -
接口安全之JWT---JSON WEB TOKEN
这里给大家推荐一款免费迭代 二开便捷的商城项目:源码直通车>>>什么是JWTJson web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该token也可直接被用于认证,也可被加.原创 2021-05-21 18:16:21 · 210 阅读 · 0 评论 -
thinkphp中composer方式安装的插件
实际应用项目:http://github.crmeb.net/u/long一、运行原理1、在tp5框架的什么位置用composer安装插件?tp5的根目录下(wendor目录的上一级)2、安装好的插件在哪里引用?打开项目的入口文件index.php文件,使用require __DIR__ . '/../vendor/autoload.php';完成插件引用composer在thinkphp开发中十分有用,可以帮助程序员们减少很多的工作量。在这里引用一篇其他作者写好的w...原创 2021-05-21 17:42:05 · 605 阅读 · 0 评论 -
对象池、连接池的意义
这里给大家推荐一款免费迭代 二开便捷的商城项目:源码直通车>>>这次我们来讲讲对象池、连接池的意义,在此之前我们先了解学习一些其他的基础知识,以便我们结合理解池的意义。nginx与php-fpm的进程模型nginx采用多进程模型,启动之后的进程将包含一个master和多个worker进程。master是worker的父进程,主要职责是用来管理worker进程的。向worker进程发送信号,如通知退出 监控worker状态,当worker退出后(无论正常异常),可以.原创 2021-05-21 15:20:21 · 286 阅读 · 0 评论 -
微信支付提示商户号mch_id与appid不匹配
实际应用项目:http://github.crmeb.net/u/long问题:出现这个提示一般是由于你的商户号没有授权给你的公众号或小程序使用。解决办法:1.登录你的商户号后台(https://pay.weixin.qq.com/)2.点击“产品中心->开发配置->APPID授权管理->新增授权”,进入授权申请页面;3.填写你需要使用这个商户号的小程序的appid并发起授权4.登录微信小程序后台(https://open.weixin.qq.com/)点击“..原创 2021-05-20 14:35:11 · 3777 阅读 · 0 评论 -
MySQL自动生成大量数据---提高学习和测试效率
这里给大家推荐一款免费迭代 二开便捷的商城项目:源码直通车>>>为了学习验证高性能MySQL,自动生成大量的数据做测试。内容来源于网络。创建随机数字生成DELIMITER $$CREATE DEFINER=`root`@`%` FUNCTION `random_num`( ) RETURNS int(5)BEGINDECLARE i INT DEFAULT 0;SET i = FLOOR(100+RAND()*10);RETURN i;END$$D...原创 2021-05-19 16:55:58 · 199 阅读 · 1 评论 -
MySQL优化查询的方法
当一个表中的数据量过大时,我们可以把该表的数据按照某种规则进行划分,例如userID散列,然后存储到多个结构相同的表和不同的库中。通过explain(查询优化神器)用来查看SQL语句的执行结果,可以帮助选择更好的索引和优化查询语句,写出更好的优化语句。1)分析查询语句:通过对查询语句的分析,可以了解查询语句执行情况,找出查询语句执行的瓶颈,从而优化查询语句。创建中间表,表结构和源表结构完全相同,转移要统计的数据到中间表,然后在中间表上进行统计,得出想要的结果。将尽量多的内存分配给MySQL做缓存。原创 2021-05-19 16:53:20 · 1082 阅读 · 0 评论 -
Redis 事务的实现原理
这里给大家推荐一款免费迭代 二开便捷的商城项目:源码直通车>>>一个事务从开始到结束通常会经历以下三个阶段:1、事务开始客户端发送 MULTI 命令,服务器执行 MULTI 命令逻辑。服务器会在客户端状态(redisClient)的 flags 属性打开 REDIS_MULTI 标识,将客户端从非事务状态切换到事务状态。void multiCommand(redisClient *c) { // 不能在事务中嵌套事务 if (c->flags.原创 2021-05-19 16:49:55 · 140 阅读 · 0 评论 -
PHP简单实现单点登录
这里给大家推荐一款免费迭代 二开便捷的商城项目:源码直通车>>>1.准备两个虚拟域名127.0.0.1 www.a.com127.0.0.1 www.b.com2.在a的根目录下创建以下文件//index.php<?phpsession_start();?><!DOCTYPE html><html><head> <meta charset="UTF-8"/> <title.原创 2021-05-19 10:47:33 · 689 阅读 · 0 评论 -
git回退版本
这种操作存在一个问题,服务器上的代码虽然被还原了,但假如有多个人在使用,他们本地的版本依然是比服务器上的版本高的,所以,别人再重新提交代码的话,你撤销的操作又会被重新,你上面的操作也就白操作了。解决办法是,让别人把本地的分支先删掉,然后重新从服务器上拉取分支。使用git开发的过程中,存在误提交的时候怎么办呢?通过reset的方式,把head指针指向之前的某次提交,reset之后,后面的版本就找不到了。3、强制push到对应的远程分支(如提交到develop分支)1、找到你误提交之前的版本号。原创 2021-05-18 17:51:22 · 352 阅读 · 0 评论 -
什么是跨域以及几种简单解决方案
实际应用项目:http://github.crmeb.net/u/long什么是跨域?要明白什么是跨域之前,首先要明白什么是同源策略?同源策略就是用来限制从一个源加载的文档或脚本与来自另一个源的资源进行交互。那怎样判断是否是同源呢?如果协议,端口(如果指定了)和主机对于两个页面是相同的,则两个页面具有相同的源,也就是同源。也就是说,要同时满足以下3个条件,才能叫同源:协议相同 端口相同 主机相同举个例子就一目了然了:我们来看下面的页面是否与http://store.com..原创 2021-05-16 19:56:33 · 386 阅读 · 1 评论 -
1个类,2个方法,3句代码,完成微信公众号开发的极简流程
这里给大家推荐一款免费迭代 二开便捷的商城项目:源码直通车>>>概述 Senparc.Weixin SDK 是一直以来大部分 .NET 微信开发者的首选微信 SDK(以下统称 SDK),SDK 目前已经支持了微信公众号、小程序、企业微信、微信支付等绝大部分微信接口,为庞大的微信生态应用提供支撑。 随着微信官方接口的不断丰富和更新,Sample变得日益庞大,可以说“0基础”去看目前 SDK Sample 是需要一些耐心的(当然这非常非常值得)。以至于也看到有开发者一见 ..转载 2021-05-16 19:47:12 · 277 阅读 · 0 评论 -
python爬虫之Scrapy提示 “不是内部或外部命令,也不是可运行的程序”解决方案
这里给大家推荐一款免费迭代 二开便捷的商城项目:源码直通车>>>报错提示:首先卸载之前的版本 提示没有安装过直接安装pip install scrapy可能会提示这个按照提示执行这个命令即可安装完成 执行scrapy测试出现以上提示 表示安装成功...原创 2021-05-15 10:47:41 · 560 阅读 · 0 评论 -
新手程序员最常用的十大网站
这里给大家推荐一款免费迭代 二开便捷的商城项目:源码直通车>>>刚开始入行的程序员很多很迷惘,不知道去哪里找到合适有用的资源,哪里有和自己一样的新手,哪里有高手,哪有有代码可以学习。我将分享一些收藏多年且非常有价值的网站跟大家分享。1、 Googlehttps://www.google.com/不是你不知道,而是你不善用google,使用google有非常多的技巧,可以网上搜索google搜索技巧。2、Stackoverflowhttp://stackoverflow....原创 2021-05-14 23:18:16 · 611 阅读 · 0 评论 -
PHP开发小技巧---隐藏手机号中间四位
实际应用项目:http://github.crmeb.net/u/longphp隐藏手机号中间四位的方法:$num = "12345678910"$str = substr_replace($num,'****',3,4);三种实现方式$tel = '12345678910';//1.字符串截取法$new_tel1 = substr($tel, 0, 3).'****'.substr($tel, 7);var_dump($new_tel1);//2.替换字..原创 2021-05-14 17:47:22 · 205 阅读 · 0 评论 -
python爬虫之Scrapy框架
这里给大家推荐一款免费迭代 二开便捷的商城项目:源码直通车>>>Scrapy是用python实现的一个为了爬取网站数据,提取结构性数据而编写的应用框架。使用Twisted高效异步网络框架来处理网络通信。Scrapy架构:ScrapyEngine:引擎。负责控制数据流在系统中所有组件中流动,并在相应动作发生时触发事件。 此组件相当于爬虫的“大脑”,是 整个爬虫的调度中心。Schedule:调度器。接收从引擎发过来的requests,并将他们入队。初始爬取url和后..原创 2021-05-13 12:15:41 · 239 阅读 · 0 评论