- 博客(205)
- 资源 (3)
- 收藏
- 关注
原创 深入理解Composer自动加载机制
Composer是PHP生态系统中最常用的依赖管理工具之一,它不仅能够帮助开发者管理项目的依赖关系,还能够自动加载这些依赖项。自动加载机制是Composer的核心功能之一,通过自动加载,开发者可以在运行时按需加载所需的类和文件,而无需手动包含它们。本文将深入探讨Composer自动加载的原理及其实现机制。
2024-12-26 12:46:45
1383
原创 如何高效学习PHP框架源码
高效学习PHP框架源码需要学习者具备扎实的PHP基础知识、熟悉框架的基本结构和功能、逐步深入源码、实践和项目经验、使用调试工具和资源以及持续学习和更新的能力。这种深入的理解有助于你更有效地使用框架,避免常见的陷阱,并能够更好地调试和优化你的代码。学习PHP框架源码是软件开发领域中的一个重要环节,它带来了诸多益处,无论是对于个人技能的提升,还是对于实际项目开发的优化,都有着不可忽视的作用。因此,如果你是一名PHP开发者,那么深入学习和理解你所使用的PHP框架的源码将是一个非常有价值的投资。
2024-12-26 12:21:36
1342
原创 一条文章讲明白TCP和UDP服务
TCP(Transmission Control Protocol,传输控制协议)和UDP(User Datagram Protocol,用户数据报协议)都是互联网协议套件的一部分,用于在网络中传输数据,它们同属于OSI模型的传输层,直接与应用层交互。
2024-12-25 09:21:10
286
原创 php8.0版本更新了哪些内容
PHP 8.0版本是PHP语言的一个重要更新,它引入了许多新特性和改进,旨在提高性能、增强代码的可读性和可维护性。
2024-12-25 09:13:13
647
原创 php的线程安全与非线程安全版本的区别
线程安全意味着在多线程环境下,PHP代码的执行能够确保数据的一致性和完整性,不会出现数据不一致或竞争条件。线程安全版本通过增加对共享资源的读写控制(如加锁机制)来实现这一点。
2024-12-24 15:22:41
603
原创 php中 cli和cgi的区别
在PHP中,CLI(Command Line Interface)和CGI(Common Gateway Interface)是两种不同的运行PHP脚本的方式,它们各自有不同的用途和特点。
2024-12-24 15:18:08
591
原创 Hyperf框架运行环境虚拟机ubuntu系统下的搭建记录
这个应该是应用在亚马逊接收邮件,轮询邮件分析内容的业务场景中,其他服务应该是用不到的。具体的依赖参考的原来的dockerfile里面的设置。进入/etc/mysql/mysql.conf.d/mysqld.cnf文件把bind-address = 127.0.0.1注释,即在bind-address = 127.0.0.1前面加#使用了gitee代码库里面的docker文件,变更了yml里面的映射目录直接去docker-compose up -d 操作遇到了一些问题。下载SQL连接工具,连接失败了。
2024-11-12 15:43:23
803
原创 使用虚拟机vmware安装完ubuntu24版本的系统之后,ssh访问拒绝连接的处理
7.编辑–>虚拟网络编辑器–>更改设置VMnet8 Nat模式的网络–>nat设置–>添加22的端口配置。4.启动虚拟机选在傻瓜式系统安装流程,默认网络是nat模式。3.在vmware中添加虚拟机选在上述iso文件。2.下载ubuntu24版本的桌面版iso文件。5.在虚拟机内ifconfig查看虚拟机ip。然后在本机我这已经可以连接上虚拟机了。本地ssh链接还是ssh访问拒绝。原因:虚拟机系统未安装ssh。解决办法:在虚拟机上操作。1.安装vmware。
2024-11-07 13:46:00
441
原创 thinkphp3.2投递amqp消息
由于目前维护的系统是thinkphp3.2版本的代码,升级无望,当时还没用composer包的自动更新。1.首先在项目的根目录下创建一个vendor目录,将来这个目录会和代码一起提交,因为不是composer自动更新的。在空白目录里面会自动生成,将生成的vendor目录直接覆盖老项目中的vendor目录。因为是老项目,我的php版本还是5.6的,我选择了包的版本是2.12.1。包的每个版本上都会有需要的php版本环境的说明,选择是和自己的。2.在php官方扩展包网站找到包对应的版本。
2024-04-29 17:36:06
326
4
原创 php实现查询mongoDB数据库中NumberLong类型的字段
以上库中都没找到封装好的转换php数字类型为mongo中NumberLong类型的内置用法,就参考扩展包中的测试用例自己封装了一下。使用上述转换后的类型可以根据NumberLong类型的mongo字段查询了。安装的mongodb扩展:mongodb 1.16.2。php版本:php8.0。
2024-04-17 16:35:52
359
1
原创 搭建博客站
上传到服务器的**/usr/local/bin/** 目录下面并把docker-compose-linux-x86_64。docker-compose的安装按照官方下载速度太慢了,我是直接从github上面下载包到本地,然后上传到服务器上的。github的下载地址 https://github.com/docker/compose/releases。使用浏览器进行 服务器IP:80访问,就能看到wordpress的安装界面了。接下来按照下图操作设置docker-compose为可执行程序。
2024-03-16 15:11:43
326
原创 这个排列组合的算法我得好好记录下
排列组合很常见的算法,但是这是第一次从元素中删除全部可能性元素再进行排列这样计算,得记录记录。比如 数组有1,2两个元素,排列组合为[1,2],[2,1],[1],[2]
2024-03-04 17:21:05
152
1
原创 docker实现mysql 主从复制
一、部署主从Mysql服务器在服务器创建两个目录 master 与 slave 分别对应主从数据库的data和conf ,目录结构如下然后在master/conf/ 路径下创建 my.cnf 里面内容如下在slave /conf/路径下 创建 my.cnf 内容如下然后利用镜像分别启动两个容器,一个master 一个slave , master端口为3339,slave为3340 对应的root密码为123456,映射配置文件和数据存储目录到mysql启动 Master启动Slave启动完成后
2023-09-01 11:52:42
130
原创 使用php语言的hyperf框架写一个excel表格解析与整合导出的处理类
*** 获取sheet名称/*** 获取字段配置/*** 获取模板名称/*** 模板1/*** 配置解析字段return [ "name" => "姓名" , "remark" => "备注" , ];} /*** 配置sheet名称return "测试";} /*** 配置模板名称return "测试模板";} }
2023-07-03 17:38:06
707
1
原创 Hyperf框架中使用jsonrpc服务报错Cannot select any node from load balancer.的问题排查
Cannot select any node from load balancer.问题解决
2022-12-28 09:59:51
1458
原创 源码安装php7.4.33,支持hyperf2.2
由于php7.4.0-7.4.1与hyperf/amqp2.2版本有冲突,导致必须升级php版本,使用php源码安装服务器已经包含了其他版本的php,所以需要兼容处理必须安装的扩展pcntlswoole。
2022-11-14 14:19:46
3738
原创 3.Go语言变量与常量
标识符go语言中标识符由字母数字下划线组成,并且只能以字母和下划线开头。比如_12,abc,a123,a_1特殊含义的标识符,关键字和保留字都不建议作为变量名。go语言中有25个关键字,37个保留字。https://learnku.com/go/t/46645恒定不变的值。多运用于运行期间不会改变的值。常量在定义的时候必须赋值。iota是go语言的常量计数器,只能在 常量的表达式中使用。在const关键字出现时,会被重置为0,每声明 ,计数一次变量1)为什么有变量相当于我们的名字,定位准
2022-07-06 09:37:45
302
原创 2.Go语言环境配置
下载地址:最好使用最新的,go语言目前更新比较快安装目录找一个好记的。傻瓜式安装成功,打开命令行2.windows配置go的环境变量windows的环境变量配置方式:还需要再在系统环境变量PATH里面追加一条记录为保存成功后打开windows的命令行,输入以下命令可以显示go语言版本GOPATHGOPATH 通常是有默认值的,删除或者重新配置就可以。GOPROXYGo默认的GOPROXY的值是:GOPROXY=https://proxy.golang.org,direct。这个gopro
2022-07-06 09:25:10
1376
原创 PHP对接谷歌search console 第二篇
上次PHP对接谷歌search console 第一篇 中已经讲述了基本的api操作。本篇主要是继续再记录一下search console 效果展示与网址检查部分的对接代码效果官方效果图展示分为了三个部分1.汇总数据2.折线图数据3.六个维度的数据上代码<?phpdeclare(strict_types=1);namespace App\Utils\Google;class Query extends Base{ /** * 效果查询 * @p
2022-05-23 14:52:06
820
原创 PHP对接谷歌search console 第一篇
这个部分在开发的时候我是实际调用的其他服务封装好的,下面的例子是练手,未验证。如果使用的话还需要再调试一下。如有疑问,欢迎批评指正、共同探讨。2.点击 添加或移除范围 按钮,会列出启用的api对应的范围,选中自己需要的。这些都完成之后,基本信息就填写完成了。点击发布应用,进入发布的相关流程。3.配置应用上线之前,可以访问应用的谷歌账户。1.主要是告诉谷歌你调用接口的网站域名。1.删除网站的meta标签。以下两个api点击启用。2.删除网站验证的资源。
2022-05-16 16:26:29
1132
原创 1.产品认知
产品认知 需求分析 用户研究 用户场景 答疑解惑 产品设计 结构与流程 原型制作 prd文档 答疑解惑 项目拆解 产品生存指南---------------------------------------------------------------------------------------------------------------------背景产品利润率不够,未来没有发展肯定会考虑砍掉,对这个产品做减法。是什么契机让你想去做产品?是什么契机让你想从码
2021-11-16 00:00:00
882
原创 php处理微信退款回调,加密串解密
退款回调官方说明文档:https://pay.weixin.qq.com/wiki/doc/api/H5.php?chapter=9_16&index=101.接收回调数据function xmlToArray($xml) { libxml_disable_entity_loader(true); return json_decode(json_encode(simplexml_load_string($xml, 'SimpleXMLElement'
2020-10-19 10:30:35
1313
原创 对接阿里云短信服务国际版遇到的几个问题
composer require alibabacloud/client1.定向流量包的手机号前面要加国家码.由于我没有加,一直接口报错余额不足2.PHP版本问题我的本地环境是php7.3.4版本的,直接composer下载下来的就是7.3.4版本对应的SDK,测试环境与线上环境是5.6版本的。由于环境限制我不能直接修改服务器的配置只能在本地下载下来把代码传上去。说明:...
2020-10-16 09:39:00
1123
原创 支付宝退款接口对接流程PHP语言
先分享一下支付宝退款的程序源码(我这段代码是通过配置证书而不是字符串秘钥的方式)sdk下载地址:https://opendocs.alipay.com/open/54/103419#%E8%8E%B7%E5%8F%96%20Alipay%20SDK public function refund($refund) { $appCertPath = THI...
2020-07-15 15:59:00
1239
原创 php使用exec执行sh文件
1.exec的命令行最后加上2>&1可输出报错信息2. SUDO vi /etc/sudoerswww ALL=(root) NOPASSWD:/usr/local/bin/***.sh3.设置sh文件的可执行权限chmod u+x ***.shchmod 777 ***.sh...
2020-05-07 14:20:00
692
原创 gitlab-runner的无权限问题
在做gitlab-ci的自动部署过程中1.runner已经安装、2.runner已经注册3.gitlab已经找到了runner4.yml文件已经编写5.script中脚本shell编写,直接执行6.脚本在服务器上root测试通过7.在runner执行过程中脚本报错比较多,大多数是文件夹不存在,无权限等等我就讲runner的执行用户更改为rootps aux|grep ...
2020-03-21 13:06:00
4622
2
原创 THINKPHP3.2创建敏感词过滤行为类
1.在TP框架对应模块下面创建WordsFilterBehavior 类、位置Application/Home/Behavior/下<?phpnamespace Home\Behavior;use Think\Behavior;use Think\Log;class WordsFilterBehavior extends Behavior{ publi...
2020-03-16 15:15:00
388
原创 composer update内存溢出和卡住迟迟不动的问题
内存溢出先运行free -m看下空间是多少在命令行环境依次运行以下三条命令dd if=/dev/zero of=/var/swap.1 bs=1M count=1024mkswap /var/swap.1swapon /var/swap.1dd if=/dev/zero of=/var/swap.1 bs=1M count=1024 //第一条指令1024...
2020-03-13 15:48:00
518
原创 测试服务器centos7安装php7.2+composer
在做自动化部署的工作,前提先把服务器的php环境和composer搞起来如果tp项目内git源码不包含logs和runtime目录,那请给gitlab-runner赋予可操作目录的权限php7.2.3安装目录1.清除历史版本为了防止CentOS上面发生php冲突,所以,这个命令还是先执行一下更好些。yum -y remove php*2.安装php72w,是需要配置额外的...
2020-03-13 14:58:00
411
原创 CKEditor4多个span标签不合并的问题
编辑器编辑完成之后的html源码如下由于项目要求,我们考虑在php端解决这个问题,采用dom的方式,也考虑过正则匹配,但是考虑的意外情况太多,代码可读性也不高下面是解决的一个demo源码 1 <?php 2 /** 3 * 处理返回界面中多个span不合并的问题 4 * 5 * @param $html 6 * 7 * @return string...
2020-03-08 09:57:00
247
原创 编程面试题
1.自定义一个分页函数,传参当前页数、总页数,输出以下1...34567...10123456...10 1 //$showPage是掐头去尾的显示数量 2 //这个函数的重点就在于起始值和结束值的运算 3 function page($currentPage,$totalPages,$showPage=5) 4 { 5 $pageStr = ""; 6...
2020-03-03 16:15:00
90
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人