![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
PHP
文章平均质量分 53
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 · 693 阅读 · 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 · 785 阅读 · 4 评论 -
PHP多进程swoole应用实例&&swoole多进程process方法
应用一:请求接口,减少时间假设我们需要CURL多个地址,例如3个,每个需要1秒,如果我们同步运行至少需要3秒完成,这对用户的体验是非常不好的,我们可以引入swoole的process子进程开启三个进程同时curl则需要1秒处理好。代码实现:<?phpecho'start:'.date("YmdH:i:s");$urls=['http://www.baidu.com','http://www.sina.com.cn','http://...原创 2021-07-28 10:14:00 · 631 阅读 · 0 评论 -
源码安装swoole与配置&&PHP安装swoole&&linux系统下swoole安装与配置
首先到官网文档下载swoole,文档里有几种方法安装之前请看清楚,swoole安装准备与需要注意哪些问题 下载源码我用git方法,git下载swoole源码包,同样放在softpackage目录下载下来的包名是swoole-src,为了方便学习,我把它更改为swoole看 上面文件,发现swoole是没有configure,这就需要你用到php的phpize来安装了,phpize在这个php/bin目录里,注意:phpize是用来生成外部扩展文件的。..原创 2021-07-27 09:09:55 · 414 阅读 · 0 评论 -
PHP把价格数字全部替换为*&&PHP把字符串中的数字全部替换为*
项目需求:非会员情况下会员价格显示***.**$pattern = "/\d/";$replacement = "*";$price = preg_replace($pattern, $replacement, $price);原创 2021-06-16 17:43:29 · 328 阅读 · 5 评论 -
单点登录原理与简单实现
1、http无状态协议 web应用采用browser/server架构,http作为通信协议。http是无状态协议,浏览器的每一次请求,服务器会独立处理,不与之前或之后的请求产生关联,这个过程用下图说明,三次请求/响应对之间没有任何联系 但这也同时意味着,任何用户都能通过浏览器访问服务器资源,如果想保护服务器的某些资源,必须限制浏览器请求;要限制浏览器请求,必须鉴别浏览器请求,响应合法请求,忽略非法请求;要鉴别浏览器请求,必须清楚浏览器请求状态。既然http协议无状态,那就让服务器和浏...转载 2021-05-29 09:47:27 · 169 阅读 · 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 · 1253 阅读 · 7 评论 -
宝塔切换命令行PHP版本&&切换网站PHP版本
实际应用项目:http://github.crmeb.net/u/long一、切换命令行PHP版本二、切换网站的PHP版本原创 2021-05-27 09:36:32 · 505 阅读 · 0 评论 -
解析thinkPHP基于反射实现钩子的方法
这里给大家推荐一款免费迭代 二开便捷的商城项目:源码直通车>>>下面由thinkphp框架教程栏目给大家解析thinkPHP基于反射实现钩子的方法,希望对需要的朋友有所帮助!ThinkPHP框架的控制器模块是如何实现 前控制器、后控制器,及如何执行带参数的方法?PHP系统自带的 ReflectionClass、ReflectionMethod 类,可以反射用户自定义类的中属性,方法的权限和参数等信息,通过这些信息可以准确的控制方法的执行。ReflectionClass:主要.原创 2021-05-26 16:46:45 · 122 阅读 · 0 评论 -
PHP微信开发---小程序登录
实际应用项目:http://github.crmeb.net/u/long微信小程序登录以及获取openid(用户唯一标识)和session_key一、前端登录代码://登录获取codelogin:function(){wx.login({success:function(res){console.log(res.code)//发送请求wx.request({url:'填写你的后端接...原创 2021-05-23 15:02:57 · 251 阅读 · 0 评论 -
微信小程序生成带参数的二维码以及小程序码
实际应用项目:http://github.crmeb.net/u/long微信小程序生成带参数的二维码官方共给了三个接口调用,大家可以根据自己的实际情况来使用,我这里使用的是接口B和接口C。官方文档地址业务需求:扫描二维码进入指定商品页面,需要的参数为商品id(goods_id)。一、先看效果图:二、PHP代码实现public function pathImg(){ $goods_id = '20'; //商品id //配置APPID、APPSECRET.原创 2021-05-23 12:12:46 · 2287 阅读 · 0 评论 -
PHP实现微信小程序支付
实际应用项目:http://github.crmeb.net/u/long一、前端代码:1.先写一个可以点击支付的按钮<viewclass="chongzhi_button"bindtap="pay">支付</view>2.开始js代码pay:function(){//下订单并唤起微信支付varprice='0.01';//支付金额varopenid='';//这里传用户openid,怎么获取用户的ope...原创 2021-05-23 12:07:42 · 2636 阅读 · 0 评论 -
php如何自动刷新页面
实际应用项目:http://github.crmeb.net/u/long1、首先,打开php编辑器,新建php文件,例如:index.php。2、在index.php中,输入代码:echo ("<script>setTimeout('window.location.reload()', 1);</script>");。3、浏览器运行index.php页面,此时发现页面会自动刷新。...原创 2021-05-23 11:57:57 · 3738 阅读 · 0 评论 -
php数据导出插件phpspreadsheet内存优化
实际应用项目:http://github.crmeb.net/u/long设置缓存节省内存:https://phpspreadsheet.readthedocs.io/en/latest/topics/memory_saving/#memory-saving这里我们使用use Symfony\Component\Cache\Adapter\FilesystemAdapter;use Symfony\Component\Cache\Psr16Cache;... $adapter..原创 2021-05-23 11:33:03 · 1310 阅读 · 0 评论 -
php+mysql开发站内搜索+最近搜索+最近热搜
实际应用项目:http://github.crmeb.net/u/long1、通过php查询mysql数据库的关键词,用%$_POST[keyword]%实现关键词搜索2、每次搜索关键词,都把该关键词插入数据库的keywords字段做记录,然后查询keywords所有记录并输出,即可实现最近搜索的关键词功能3、计算keywords里所有重复字段并排序,输出前5个最多人搜索的关键词,即可实现最近热搜sou.php ,这是表单提交页面+最近搜索,最近热搜关键词输出页面。<!DOCTY.原创 2021-05-23 10:54:12 · 295 阅读 · 0 评论 -
接口安全之JWT---JSON WEB TOKEN
这里给大家推荐一款免费迭代 二开便捷的商城项目:源码直通车>>>什么是JWTJson web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该token也可直接被用于认证,也可被加.原创 2021-05-21 18:16:21 · 175 阅读 · 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 · 468 阅读 · 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 · 621 阅读 · 0 评论 -
CRMEB去除版权信息教程
本文是crmeb简单二开教程 源码地址:直通车》》》前台个人中心版权去除前端源码:view/uni-app替换此文件下的/static/images/support.png为自己的logo 然后重新打包公众号、h5重新打包教程:https://help.crmeb.net/crmeb-v4/1863440小程序重新打包教程:https://help.crmeb.net/crmeb-v4/1863444后台页面底部版权去除找到源码:view/admin全局搜索西安...原创 2021-05-17 11:09:28 · 6398 阅读 · 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 · 113 阅读 · 0 评论 -
比较常用的正则表达式总结
这里给大家推荐一款免费迭代 二开便捷的商城项目:源码直通车>>>一、校验数字的表达式1. 数字:^[0-9]*$2. n位的数字:^\d{n}$3. 至少n位的数字:^\d{n,}$4. m-n位的数字:^\d{m,n}$5. 零和非零开头的数字:^(0|[1-9][0-9]*)$6. 非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$7. 带1-2位小数的正数或负数:^(\-)?\d+(\.\d{1,2})?.原创 2021-05-12 21:46:12 · 71 阅读 · 0 评论 -
PHP如何实现socket长连接
实际应用项目:http://github.crmeb.net/u/long长连接是什么?朋友们应该都见过很多在线聊天工具和网页在线聊天的工具。学校内有一种熟悉的功能,如果有人回复你了,网站会马上出现提示,此时你并没有刷新页面;Gmail也有此功能,如果邮箱里收到了新的邮件,网站会马上提醒你,即使你的网页一直未刷新过。说到这里大家肯定不陌生,就是复用一个链接持续不断的进行数据交互。在现下很多互联网业务场景都需要长连接的支持,比如:游戏、聊天、信息推送等等等,这么多类似的功能都离不开长连接。前一章节介绍原创 2021-05-12 21:40:56 · 2246 阅读 · 2 评论 -
登录授权验证之OAuth2.0
实际应用项目:http://github.crmeb.net/u/long本文将从几个方面了解和学习使用OAuth2.0。对不对就不管了,反正我也几乎不会用到。ps.有个项目用到了,所以才会有本文。OAuth2.0介绍和功能 微信开放平台和github的OAuth2.0接入应用 自己写一个OAuth2.0服务 Springboot OAuth2.0集成快速了解OAuth2.0资源很多,看起来比较麻烦,可以直接看Authorization Code授权码流程,以微信登录为例子的介绍。O原创 2021-05-12 21:00:48 · 2111 阅读 · 1 评论 -
swoole系列之---定时器的简单理解和应用
实际应用项目:http://github.crmeb.net/u/long学习 Swoole 之前,最好先了解下底层知识,比如,线程/进程、IO、TCP/IP协议 等。Timer的定时器主要有以下三个方法swoole_timer_tick间隔的时钟控制器swoole_timer_after指定的时间后执行swoole_timer_clear删除定时器示例代码://每隔5000ms触发一次$timer_id=swoole_timer_tick(5000,...原创 2021-05-12 09:05:57 · 865 阅读 · 0 评论 -
基于crmeb的二开教程---3.x版本增加备案信息
本文是crmeb简单二开教程 源码地址:直通车》》》修改h5/src/views/home/Index.vue在 <Coupon-window :coupon-list="couponList" v-if="showCoupon" @checked="couponClose" @close="couponClose"></Coupon-window> 上方增加以下代码...原创 2021-05-11 18:36:47 · 269 阅读 · 0 评论 -
基于crmeb的二开教程---增加使用名称登录
本文是crmeb简单二开教程 源码地址:直通车》》》一、删掉红框里的代码 文件位置view\uni-app\pages\users\user_info.vue二、增加nickname 文件位置:/app/services/user/LoginServices.php原创 2021-05-11 18:32:37 · 425 阅读 · 0 评论 -
国内下载vscode速度慢问题解决
首先在官网找到需要下载的文件,点击下载。在浏览器或者下载软件中就可以看到这么一个下载地址了,将其复制下来(如下图箭头所指)。然后将红框内的部分更换为如下内容:vscode.cdn.azure.cn<--------就是左边这个更新后的地址为:http://vscode.cdn.azure.cn/stable/78a4c91400152c0f27ba4d363eb56d2835f9903a/VSCodeUserSetup-x64-1.43.0.exe这个就是国内的镜像了点开后你.原创 2021-05-10 17:38:20 · 1138 阅读 · 1 评论 -
小程序生成小程序码显示,提示“小程序二维码需要发布正式版后才能获取到”的问题解决办法
本文是基于CRMEB系统的,当然关于小程序生成二维码的问题 也可以参考此文章放上免费源码获取地址:获取地址直通车问题:小程序生成小程序码显示,提示“小程序二维码需要发布正式版后才能获取到”解决办法:1、小程序需要正式发布后,才能生成产品二维码2、检测小程序后台,检测下载域名是否配置:“downloadFile合法域名” 图片设置了云存储,也要将下载合法域名进行设置。 3、检测SSL证书等级是否太低,苹果手机要求SSL证书tls支持1.2以上,安卓手机...原创 2021-05-10 09:46:35 · 2258 阅读 · 0 评论 -
PHP排序之选择排序
这里给大家推荐一款免费迭代 二开便捷的商城项目:源码直通车>>>选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。选择排序的主要优点与数据移动有关。如果某个元素位于正确的最终位置上,则它不会被移动。选择排序每次交换一对元素,它们当中至少有一个将被移到其最终位置上,因此对 n .原创 2021-05-09 20:34:54 · 554 阅读 · 0 评论 -
PHP混编---防止重复提交表单
这里给大家推荐一款免费迭代 二开便捷的商城项目:源码直通车>>>我们提交表单的时候,不能忽视的一个限制是防止用户重复提交表单,因为有可能用户连续点击了提交按钮或者是攻击者恶意提交数据,那么我们在提交数据后的处理如修改或添加数据到数据库时就会惹上麻烦。那么如何规避这中重复提交表单的现象出现呢?我们可以从很多方面入手,首先从前端做限制。前端JavaScript在按钮被点击一次后禁用,即disabled,这个方法简单的防止了多次点击提交按钮,但是缺点是如果用户禁用了javascript脚原创 2021-05-09 18:26:30 · 121 阅读 · 0 评论 -
PHP混编---使用PHP将长文章分页
这里给大家推荐一款免费迭代 二开便捷的商城项目:源码直通车>>>当文章内容特长时,为了方便阅读和页面展示我们一般将内容分页来显示。而一般分页处理是在后台发布文章的时候就将提交的内容生成多个分页后的静态文件。本文我们结合实例来讲解采用PHP动态将长文章内容进行分页处理。如何分页手动分页:一般在编辑内容时加入特殊分页标记,如{pages},提交后,PHP程序会根据分页符处理分页,生成不同的静态页面。这种分页方法分页准确,但是需要人工手动添加分页符,工作量大。自动分页:PHP程序原创 2021-05-09 18:20:10 · 158 阅读 · 0 评论 -
Docker系列六:Nginx + PHP 部署
这里给大家推荐一款免费迭代 二开便捷的商城项目:源码直通车>>>启动 PHP:$ docker run --name myphp-fpm -v ~/nginx/www:/www -d php:5.6-fpm命令说明: --name myphp-fpm: 将容器命名为 myphp-fpm。 -v ~/nginx/www:/www: 将主机中项目的目录 www 挂载到容器的 /www 创建 ~/nginx/conf/conf.d 目录:mkdir..转载 2021-05-08 12:02:31 · 180 阅读 · 0 评论 -
Docker系列五:docker部署PHP
这里给大家推荐一款免费迭代 二开便捷的商城项目:源码直通车>>>docker pull php查找Docker Hub上的 php 镜像:可以通过 Sort by 查看其他版本的 php,默认是最新版本php:latest。此外,我们还可以用 docker search php 命令来查看可用版本:runoob@runoob:~/php-fpm$ docker search phpNAME DESCRIPTION...原创 2021-05-07 22:50:31 · 274 阅读 · 0 评论 -
PHP常用排序方法---快速排序
这里给大家推荐一款免费迭代 二开便捷的商城项目:源码直通车>>>public function fastSort($data) { $firtime = microtime(); $this->fastSortMain(0, count($data) - 1, $data); $sectime = microtime(); $this->getTimeLimit($firtime, $sectime)原创 2021-05-06 18:36:23 · 1263 阅读 · 2 评论 -
PHP中防止SQL注入的方法
这里给大家推荐一款免费迭代 二开便捷的商城项目:源码直通车>>>【一、在服务器端配置】安全,PHP代码编写是一方面,PHP的配置更是非常关键。我们php手手工安装的,php的默认配置文件在 /usr/local/apache2/conf/php.ini,我们最主要就是要配置php.ini中的内容,让我们执行 php能够更安全。整个PHP中的安全设置主要是为了防止phpshell和SQL Injection的攻击,一下我们慢慢探讨。我们先使用任何编辑工具打开 /etc...原创 2021-05-05 21:44:30 · 1740 阅读 · 0 评论 -
Linux计划任务,自动删除n天前的旧文件
这里给大家推荐一款免费迭代 二开便捷的商城项目:源码直通车>>>语句写法:find 对应目录 -mtime +天数 -name "文件名" -exec rm -rf {} \;例1:find /usr/local/backups -mtime +10 -name "*.*" -exec rm -rf {} \;将/usr/local/backups目录下所有10天前带"."的文件删除find:linux的查找命令,用户查找指定条件的文件/usr/local/back原创 2021-05-01 17:39:08 · 263 阅读 · 0 评论 -
CRMEB系统二开及安装配置视频教程
开头先放上免费源码获取地址:http://github.crmeb.net/u/long一、CRMEB系统二开视频教程手把手带你从目录结构,后端页面添加,自定义短信平台,接口调试,全面进阶开发!西瓜视频教程合集:https://www.ixigua.com/6925604579799204364开源不易,记得点点关注,点点赞哦,开源产品点个star就更好了!B站视频教程合集:https://www.bilibili.com/video/BV1GX4y1T7Wd开源不易,记得点点关注,点点赞哦,开源产品点原创 2021-05-01 17:27:21 · 594 阅读 · 0 评论 -
Linux查找占用的端口,并杀死进程
最近最crmeb项目的时候用到这个 记录一下 希望对大家也有所帮助放上crmeb的免费源码获取地址:点我直达>>>一、首先 进到终端二、查找占用的程序命令:lsof -i:端口号或者netstat -apn | grep 端口号我查的是20002第二项pid三、杀掉对应的进程kill -9 进程号(上一步查到的pid)可以多个进程一起杀掉注意:谨慎杀进程 确保这个端口没有被其他有用的程序使用...原创 2021-04-27 15:26:01 · 405 阅读 · 0 评论 -
基于CRMEB商城系统的宝塔目录权限问题解决办法
关于目录权限问题解决办法报错如图所示:解决办法:选择需要复制权限的文件夹 点击权限www755应用到子目录即可(有些用户runtime文件的权限显示是755 www 也要按照这个操作一下 因为文件夹里的某个文件不是755www权限)有些用户没使用宝塔的 命令行执行sudo -u www chmod -R 755 runtimewww是用户runtime是要赋权限的文件夹注:部分用户隔段时间会出现权限问题针对v4版本和pro版本用户开启长连接和消息队列时使用www用户(建议...原创 2021-04-03 14:34:27 · 520 阅读 · 0 评论 -
PHP条形码生成
环境:PHP版本: 7.3.4PHP框架:tp5.1第三方插件:barcodegen一、下载插件,部署环境安装方式有两种:1、下载压缩安装插件下载直通车:https://www.barcodebakery.com/en/download/php下载5.2版本足够下载完成后,部署到tp5.1框架中,extend文件夹下2、使用composer安装,具体步骤...原创 2019-10-16 18:18:37 · 545 阅读 · 0 评论