- 博客(220)
- 资源 (2)
- 收藏
- 关注
原创 使用PHPCompatibility进行PHP跨版本兼容性检查
靠手动排查这样的问题的确很是麻烦,首先需要知道新的PHP到底移除和改变了哪些特性以及新的规范(这个嘛,是必须的啦,不断学习才能更加壮大),然后得挨个的进行全局搜索,费时又费力,如果程序时候PHP+HTML混编,那将更加头疼。有时候我们接手一个他人的项目,或者我们可能在运营一个老旧的项目,但是新的环境PHP版本却和开发环境的不同,那么我们可能就需要检查项目中是否有出现可能的不兼容的问题,因为更新的PHP版本可能会在之前的基础上移除一些特性。这样做是为了确保在运行代码审查时有足够的内存可用。
2024-03-07 11:22:14 805
原创 php查看哪个类的调用当前函数
在 PHP 中,你可以通过使用 debug_backtrace() 函数来查看当前类的哪个方法调用了当前方法。debug_backtrace() 函数返回一个包含调用堆栈信息的数组,你可以从中获得有关调用者的信息。在这个示例中,foo() 方法使用 debug_backtrace() 获取调用堆栈信息,并分析第二个元素以获取调用它的方法所属的类和方法名称。
2024-02-22 17:54:42 498
原创 centos安装扩展
把extension改为zend_extension echo “zend_extension = /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/opcache.so” >> /etc/php.ini。复制最后显示的一行 /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/而后在php的php.ini的配置文件添加。解决方法php-fpm。[转自宝塔论坛@河妖。
2024-02-21 17:03:58 771
转载 TCP四次挥手详解
延迟确认:即接收方收到包后,如果暂时没有内容回复给发送方,则延迟一段时间再确认,假如在这个时间范围内刚好有数据需要传输,则和确认包一起回复。如果在 TIME-WAIT 时间内,因为客户端的 ACK 没有传输到服务端,客户端又接收到了服务端重发的 FIN 报文,那么。后,被延迟的相同四元组的数据包抵达了客户端,那么客户端是有可能正常接收这个过期的报文,这就会产生数据错乱等严重的问题。等待MSL两倍:网络中可能存在发送方的数据包,当这些发送方的数据包被接收方处理后又会向对方发送响应,所以。
2024-01-02 18:04:01 151
转载 postfix相关问题处理
1 postfix 作为邮件服务器时,当然这里应用的不是虚拟用户,出现用户只能发送Email 而不能接受Email 的问题,在其日志中出现如下2 该问题主要原因是因为在postfix配置文件main.cf.default也就是说当用户的对应的/var/mail/USERNAME 文件的大小不能超过50M 如果超出该值时可能会出现只能发送不能接受的情况,3 解决办法第一种方法, 是清空用户对应的文件,当然也可以创建一个脚本,让其自动 清空对应的文件。
2023-10-18 10:52:42 334
转载 php如何读取解析eml文件以及生成网页的示例分享
这篇文章主要介绍了PHP读取、解析eml文件及生成网页的方法,结合实例形式分析了PHP操作eml文件的读取、解析、转换等相关实现技巧与注意事项,并附带demo源码供读者下载参考,需要的朋友可以参考下。php读取eml实例,本实例可以将导出eml文件解析成正文,并且可以将附件保存到服务器。不多说直接贴代码了。本文实例讲述了PHP读取、解析eml文件及生成网页的方法。
2023-09-13 19:18:40 211
原创 关于大并发下的笔记
3.关于代码层面,一定要注意分层,开始的时候多写一点,后期改动代码时容易改动,很有必要;查询或者存储时尽量从redis或者es中查询。排查mysql:在查数据之前打印一下时间,在查询之后的代码打印一下时间 (是否是因为mysql查询缓慢的问题或者mysql连接不到),4.高并发下会出现一些奇怪的问题,尽量保证基本的业务逻辑不出现问题,然后使用一些异步操作如rabbitmq会更合适,对应搭建负载均衡。第二次出现问题通过查询mysql的慢日志,根据对应的sql添加合适的索引,然后注意查询时不要带*查询。
2023-07-24 17:57:18 91
转载 压力测试请求的三种方式【postman ab jmeter】
ab又是一个命令行工具,对发起负载的本机要求很低,根据ab命令可以创建很多的并发访问线程,模拟多个访问者同时对某一URL地址进行访问,因此可以用来测试目标服务器的负载压力。总的来说ab工具小巧简单,上手学习较快,可以提供需要的基本性能指标,但是没有图形化结果,不能监控。监听端口,默认监听端口是80,如果已被使用会报错需要修改,如果80端口未被使用,可不修改;你可以立马感觉到 CPU 在“燃烧”,因为要记录并打印日志,显示的话是一条一条来的,其实测试的速度,要比你看到的打印的日志的速度快,绿色表示正常。
2023-06-19 00:31:16 922
原创 埋点统计设计
1.后台使用redis的hash类型存一个key参数和value(m5d解密之后的值),每次从里面匹配参数。首先,新建一个html页面,用户打开,在里面插入一个1px的图片。举个类子,现在图片的url后面的参数是明文模式,转换为加密模式。然后查看url地址的接口代码。2.自己写个加密解密的函数。
2023-06-07 16:40:10 234
原创 redis笔记
缓存击穿:原因:热点key突然失效 解决方法:加锁,当第一个请求到达之后加锁(分布式锁或者互锁),其他请求等待几毫秒,当第一个请求拿到数据之后就会把数据放到redis中,其他请求等待以后再请求redis就有数据了。缓存雪崩:原因:短时间内访问大量不存在的key 过期时间随机设置 定时任务重新设置过期时间 永不过期(不推荐)如何解决数据不一致问题:1.加锁 2.先更新数据,在删除缓存,间隔一段时间再删除缓存 (延迟双删)内存淘汰策略 LRU(最近最少使用) LFU(最近最不经常使用)
2023-04-18 22:13:44 566 1
转载 idea中创建jsp项目的详细实战步骤
然后选到Dependencies,点击下面的+号,选择jars or dirxxxxxxxx,选择刚创建的lib目录,让选择目录用处的话,选择jar direxxxxxxx,打上勾,点击apply,OK。3、项目列表->web->WEB-INF,在WEB-INF下新建两个文件夹,分别是classes、lib。10、最后运行,如果运行没有成功,没有跳转网页的话,把Login文档中@WebServlet那一行删除。9、找到web -> WEB-INF -> web.xml文档,在文档中添加下列代码。
2023-04-02 00:30:19 4409
原创 php 安装curl扩展支持sftp协议
原因:php默认安装的依赖的libcurl.so中不支持sftp 协议解决方法:先安装libssh2,curl安装时编译参数带–with-libssh2,这样可以支持sftp。
2023-01-16 16:38:55 806
转载 git status时有Untracked files(racked files(未跟踪)的文件,原因分析以及解决方案,git clean详解
在git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,git就会自动忽略这些文件。d:删除未被添加到git路径中的文件以及目录(将.gitignore文件标记的文件全部删除)。git clean 是从你的工作目录种删除所有没有tracked(未跟踪)过的文件。上面只是说了一些常用的,大家可以根据参数的意思自行组合。我们要真正弄明白问题的原因,我们就要先知道文件的几个状态。n:显示将要被删除的文件以及目录。x:删除没有被track的文件。f:强制执行(只会删除文件)
2022-12-26 18:22:09 9420 1
原创 使用guzzlehttp进行curl请求
2.baseurl写地址(http://www.baidu.com),然后new client的第二个参数把路径写全。传统的为 $header =[‘Content-type: application/json’,…1.baseurl写全部的,然后new client的url参数为空。
2022-12-02 18:11:07 716
转载 已经提交到gitlab上的代码如何撤回
这里的base-consul是我自己正在使用的分支哟,如果你的分支不是它,请换成你自己正在使用的分支!3、覆盖掉远端的版本信息,使远端的仓库也回退到相应的版本,需要加上参数–force。1、git log :查看一下分支上已提交的信息。
2022-11-29 17:05:04 5305
原创 laravel笔记
验证器是使用request的参数和自定义的rule进行对比,具体调用使用src/Illuminate/Validation/Concerns/ValidatesAttributes.php的验证方法,然后将失败的信息加入到变量中,如果需要传入view页面,controller层将变量刷新添加到session中,view层再从session中取出。中间件是使用通过管道pipeline过滤处理,使用责任链模式 ,中间件过滤完成$request后进行dispatchRoute操作。view使用了模板方法模式。
2022-11-18 14:28:28 276
原创 php责任链模式
定义:使多个对象都有机会处理请求,从而避免请求发送者和接受者之间的耦合关系。将这些对象连成一条链,并且连着这条链传递该请求,直到有一个对象处理他为止。
2022-11-16 17:12:28 288
原创 使用postfix搭建邮件发送服务器
1.安装软件postfix2.修改配置myhostname = mail.werbpower.work ← 设置系统的主机名mydomain = werbpower.work ← 设置域名(我们将让此处设置将成为E-mail地址“@”后面的部分)myorigin = $mydomain ← 将发信地址“@”后面的部分设置为域名(非系统主机名)inet_interfaces = all ← 接受来自所有网络的请求。
2022-11-14 14:49:00 2598 2
原创 thinkphp笔记
原理:composer自动加载也是必须使用include 类文件 或者require 类文件的,只不过框架内部的自动加载文件已经封装好了,自己修改只需要添加类和文件的映射关系(数组)就行了 composer安装的包正常是因为composer require后。扩展是框架extend目录下的类,是使用sql_autoload_register自动加载,然后再里面引用vender下的 composer目录,和根目录下的 extend目录。2.框架如何加载composer类的?
2022-10-25 16:25:51 388
原创 hyperf之consul
JSON RPC 是一种基于 JSON 格式的轻量级的 RPC 协议标准,易于使用和阅读。在 Hyperf 里由 hyperf/json-rpc 组件来实现,可自定义基于 HTTP 协议来传输,或直接基于 TCP 协议来传输。
2022-08-30 14:37:02 863
转载 项目启动端口被占用的解决办法
1.输入命令查看被占用的端口的进程:8761是你被占用的端口号2.根据PID来找到占用端口的进程:3.通过进程的名称来使用命令down掉进程:
2022-07-13 14:16:12 1115
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人