Peak Xin

小峰的博客


  • 首页

  • 标签

  • 分类

  • 归档

  • 优秀资源

  • 搜索

如何安装PHP扩展

发表于 2023-07-12 | 分类于 后端开发 , PHP |
字数统计: 706 | 阅读时长 ≈ 2

PECL(PHP Extension Community Library)是 PHP 的扩展库,它提供了一些 PHP 扩展,可以增强 PHP 的功能。所有扩展包列表查询地址:https://pecl.php.net/package-stats.php

Window 上安装PHP扩展

在PECL上找到所需要的PHP扩展,点击有DLL标识的链接地址,进行对应PHP版本的资源下载,但是你需要注意以下几点问题:

  • VC6 是运行于 Apache 服务器;
  • Thread safe(线程安全)是以模块形式运行在 Apache 上,如果你以 CGI 的模式运行 PHP,请选择非线程安全模式(non-thread safe);
  • VC9 是运行于 IIS 服务器上;
  • 下载完你需要的二进制包后,解压压缩包,将 php_mongodb.dll 文件添加到你的PHP扩展目录中(ext)。ext 目录通常在 PHP 安装目录下的 ext 目录。

打开 php 配置文件 php.ini 添加以下配置:

阅读全文 »

Redis、Memcached和MongoDB的区别和应用场景

发表于 2023-07-06 | 分类于 数据库 , NoSQL |
字数统计: 473 | 阅读时长 ≈ 1

Redis、Memcached和MongoDB是三种常用的NoSQL数据库,它们各自有着不同的特点和应用场景。

Redis

Redis是一种基于内存的数据结构存储系统,它支持多种数据结构,包括字符串(String)、哈希表(Dict)、列表(List)、集合(Set)、有序集合(sorted set)和基数估算(HyperLogLog)。

Redis的主要特点是速度快,支持高并发读写操作,并且可以持久化数据。

阅读全文 »

在微信实现链接的分享

发表于 2023-05-18 | 分类于 微信开发 , 微信公众号 |
字数统计: 632 | 阅读时长 ≈ 2

微信分享会使用到微信JS-SDK,所以需要再微信公众号后台配置JS接口安全域名

微信官方关于分享接口开发文档

实现代码如下:

阅读全文 »

记录 ThinkCMF 框架 X2.2.3 版本漏洞发现与解决

发表于 2023-03-23 | 分类于 网络安全 |
字数统计: 467 | 阅读时长 ≈ 1

接到网警通知,说网站有安全漏洞,根据网警提供的检测报告,经过各种尝试,终于复现了,现在记录这一激动人心的时刻

网站是基于ThinkCMF框架搭建的,查看版本是X2.2.3,根据网警提供的检测报告在postman工具上操作复现漏洞情况

  • 使用POST方式请求首页链接地址
  • 使用form-data提交参数
  • 参数content=<php>die(assert('ev'.'a'.'l("'.'e'.'va'.'l(bas'.'e64_de'.'code(\"cGhwaW5mbygpOw==\"));;return 1;")'))</php>
  • 参数a=fetch

点击发送,看看结果,意不意外惊不惊喜!

阅读全文 »

Laravel 模型关联查询已物理删除的数据设置默认值

发表于 2023-03-16 | 分类于 PHP框架 , Laravel |
字数统计: 271 | 阅读时长 ≈ 1

在使用Laravel模型关联数据时,会遇到关联查询到的数据已被删除,会导致查询结果为null

1
2
3
4
5
.......
"created_at": "2023-02-15 16:01:40",
"updated_at": "2023-02-15 16:03:22",
"category": null,
.......

如果想要保证查询结果不会出现null,可以使用 Laravel 的「Eloquent」 ORM 中的「withDefault」方法来设置默认值。例如:

阅读全文 »

Laravel安装laravel-wechat实现微信授权登录

发表于 2023-02-22 | 分类于 PHP框架 , Laravel |
字数统计: 273 | 阅读时长 ≈ 1

使用composer安装laravel-wechat

1
composer require "overtrue/laravel-wechat"

如果需要安装指定版本

  1. 安装不超过4.0的版本最新版本
1
composer require "overtrue/laravel-wechat:~4.0"
  1. 安装不超过4的版本最新版本
1
composer require "overtrue/laravel-wechat:^4.0"
阅读全文 »

Nginx配置location语法规则

发表于 2023-01-28 | 分类于 服务器 , Nginx |
字数统计: 1.7k | 阅读时长 ≈ 6

语法规则

基本语法:

1
2
3
location [=|~|~*|^~|@] /uri/ {
...
}

修饰符释义:

修饰符 释义
= 表示精确匹配后面的url
~ 表示正则匹配,但是区分大小写
~* 表示正则匹配,不区分大小写
^~ 表示普通字符匹配,如果该选项匹配,只匹配该选项,不匹配别的选项,一般用来匹配目录
@ “@” 定义一个命名的 location,使用在内部定向时,例如 error_page
/ 通用匹配,任何请求都会匹配到

上述匹配规则的优先匹配顺序:

阅读全文 »

PHP 多维数组转为树结构

发表于 2022-12-15 | 分类于 后端开发 , PHP |
字数统计: 510 | 阅读时长 ≈ 2

在项目中我们会遇到获取存在父子级关系的数组,并需要根据上下级关系以树结构的形式展示的情况

比如获取分类列表,类似如下数据

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$data = [
['id'=>13, 'name'=>'分类2-2-2', 'pid'=>9],
['id'=>1, 'name'=>'分类1', 'pid'=>0],
['id'=>2, 'name'=>'分类1-1', 'pid'=>1],
['id'=>3, 'name'=>'分类1-2', 'pid'=>1],
['id'=>4, 'name'=>'分类1-1-1', 'pid'=>2],
['id'=>5, 'name'=>'分类1-1-2', 'pid'=>2],
['id'=>6, 'name'=>'分类1-2-1', 'pid'=>3],
['id'=>7, 'name'=>'分类2', 'pid'=>0],
['id'=>8, 'name'=>'分类2-1', 'pid'=>7],
['id'=>9, 'name'=>'分类2-2', 'pid'=>7],
['id'=>10, 'name'=>'分类2-1-1', 'pid'=>8],
['id'=>11, 'name'=>'分类2-1-2', 'pid'=>8],
['id'=>12, 'name'=>'分类2-2-1', 'pid'=>9],
];
阅读全文 »

Linux环境安装nvm

发表于 2022-10-18 | 分类于 前端框架 , Nodejs |
字数统计: 242 | 阅读时长 ≈ 1

nvm是一个管理node多版本的工具
系统为CentOS7

  1. 下载nvm安装包

官方下载:https://github.com/nvm-sh/nvm/archive/refs/tags/v0.39.2.tar.gz

  1. 加压nvm压缩包
1
2
3
4
// 进入文件下载目录
[root@localhost ~]# cd /usr/local/src
// 解压文件到 root/.nvm
[root@localhost ~]# tar -zxvf nvm-0.39.2.tar.gz --strip-components 1 -C /root/.nvm
阅读全文 »

Yii2 创建定时任务

发表于 2022-08-30 | 分类于 PHP框架 , Yii |
字数统计: 573 | 阅读时长 ≈ 2

在我们项目开发中,需要使用定时任务来完成批处理业务,下面通过Yii2框架来实现定时任务

Yii2框架定时任务代码统一放在 ./console 目录下

简单的定时任务脚步文件

首先在console/controller目录下创建一个定时任务控制器TestController.php

阅读全文 »
123…20
Peak Xin

Peak Xin

Always keep a learning heart.

200 日志
41 分类
116 标签
RSS
GitHub E-Mail Twitter StackOverflow GitLab Travis Gitee SegmentFault CSDN
推荐网址
  • 阮一峰的个人网站
  • 廖雪峰的官方网站
  • 韩天峰(Rango)的博客
© 2025 Peak Xin 鲁ICP备15013472号-3
由 Hexo 强力驱动
|
主题 — NexT.Mist v5.1.4
本博客 由 Peak Xin 采用 知识共享 署名 4.0 国际 许可协议进行许可。
站点总访客数: 站点总访问量:
0%