- 博客(127)
- 收藏
- 关注
原创 PHP如何解决使用国密SM4解密Base64数据错误问题?(基于lpilp/guomi)
摘要:在Java与PHP对接时,遇到SM4解密部分数据乱码问题。经排查发现,PHP接收的Base64数据中"+"号被转为空格,导致解码失败。解决方法是将空格替换回"+"号:str_replace(' ','+',$cipher),再调用SM4解密方法即可正常解密。问题根源在于URL传输时"+"号被自动转换,而后端未正确处理。
2025-09-03 23:13:13
601
1
原创 新买的服务器如何部署PHP开发环境?
一、设置服务器账号和密码买到一台新服务器以后,点击ECS实例中的远程连接:输入购买服务器的时候的用户名和密码进行远程连接
2025-08-18 18:06:48
635
原创 Nginx服务器部署ssl证书,实现https访问
选择方法:如果公司涉及的业务是国内的一般就买国产的,如果是涉及到国外的业务,针对不同的地区去买。查看修改后的状态:nginx -t 没问题的话进行重启,有问题针对问题进行修改。将下载的证书放在服务器的目录里,在项目的nginx配置文件中进行配置。根据自己服务器的类型下载证书进行服务器部署。免费版:选个人测试证书3个月有效期。
2025-08-18 16:48:10
446
原创 PHP实现与银行对接的SM2/SM4加密(基于lpilp/guomi)
国密算法(SM2/SM4)在金融领域的应用背景银行系统对数据加密的合规性要求(如《金融数据安全指南》)PHP生态中国密算法支持的现状与挑战与银行对接支付需要给敏感字段加密,比如手机号、姓名、卡号等敏感信息,银行给的文档上明确需要将敏感字段加密,了解完需求后下面开始编程阶段了。
2025-07-08 10:20:26
1936
原创 通过ssh命令连接设备失败怎么办?
出于安全考虑,许多 Linux 系统默认禁止 root 用户通过 SSH 登录。编辑 SSH 配置文件:sudo vi /etc/ssh/sshd_config。使用其他用户登录服务器。
2025-03-19 19:16:49
310
原创 php简单实现利用飞书群里机器人推送消息的方法
自定义机器人只能在群聊中使用的机器人,在当前的群聊中通过调用webhook地址来实现消息的推送。利用的飞书的自定义机器人,将系统中的错误信息推送给技术群的功能。配置逻辑可以看飞书的官方文档,下面是示例文档,仅供参考。
2024-07-04 17:49:20
884
原创 ThinkPHP定时任务是怎样实现的?
接到一个需求:定时检查设备信息,2分钟没有心跳的机器,推送消息给相关人员,用thinkphp5框架,利用框架自带的任务功能与crontab配合来完成定时任务。
2024-07-04 17:20:09
2564
1
原创 php发送短信功能(创蓝短信)
echo 'cURL 错误: ' . curl_errno($ch);echo '接收发送结果:'.$response.'';* @param $params //链接后拼接的参数数组。echo '发送手机号:'.$phone.'';echo '发送接口参数:'.$params;echo '发送内容:'.$msg.'';* @param $header //请求头数组。* @param $url //请求地址。$msg = '测试短信功能';// 设置cURL选项。
2024-05-20 14:05:20
951
1
原创 CentOS Stream release 9 系统安装过程(2025年3月)
重启开始时:按F11,桌面弹出蓝色框,选择第二个SSK SFD142 1.00,回车。设置完之后等一会儿,执行安装后设置的进度条全部变蓝后即可进入到下一步。等待一小会儿,进入登录状态说明安装成功,输入用户名和密码开始系统设置。看清楚要选ATA的,有时候在第一个,有时候在第二个,看准了再选。点击全部删除,然后点击回收空间,成功后返回首页,点击开始安装。设置root密码,建议安装初期密码设置简单点,后期更改密码。选择后弹出选择安装选项,选择语言。点击重启按钮,进入下一步。安装设置,选择磁盘安装。
2024-02-29 17:59:13
2205
2
原创 制作 CentOS Stream9 的U盘系统启动盘
UltraISO软碟通是一款光盘映像ISO文件编辑制作工具,它可以图形化地从光盘、硬盘制作和编辑ISO文件。刻录的时间有点久,得等好一会呢,先喝杯水休息下吧!
2024-01-12 11:06:40
2657
2
原创 用frp实现内网穿透远程连接终端设备进行调试
项目中有用到硬件设备的远程调试,跟大佬们沟通后,大佬推荐这个工具,研究了下也挺好用一般企业用VIP2就行,这个通道 一个通道只能在一个设备上,不限制你连接这台设备的数量,每一个端口只能绑定到一个设备上,每个设备都需要安装一个通道。另外一个大佬推荐 的frp, 全名, 是一个可用于内网穿透的高性能的反向代理应用,主要是用于解决一些内网服务没有固定的公网IP,但是需要外网访问,使用frp可以将内网中的TCP、UDP、HTTP、HTTPS等协议的服务发布到公网,并且支持web服务根据域名进行路由转发。
2024-01-03 14:10:28
882
原创 yii2连接websocket服务实现服务端主动推送消息给客户端
上一篇写的是websocket的服务,这一篇写写调用服务和web端调用,接收消息部分。1、调用websocket服务,主动推送消息的方法。4、web端连接websocket服务,实现接收消息。5、配置supervisor。2、在job中加入编写任务。
2022-06-21 15:24:36
1974
2
原创 yii2编写swoole的websocket服务
打开phpinfo,搜索,没有安装的需要安装下问件目录:/console/controllers/WebSocketController.phpuse \Swoole\WebSocket\Server;use Yii;use yii\console\Controller;use yii\helpers\Json;class BelowCpsWebSocketController extends Controller{ /** * @var Server */
2022-06-21 13:47:03
1803
1
原创 MAC设置免密登录服务器
命令:vi ~/.ssh/config编辑完以后保存退出Host dev 连接别名HostName 192.168.0.7 服务器IP地址User root 服务器用户名把本地主机的公钥复制到远程主机的authorized_keys文件上,输入服务器的秘密,回车连接成功...
2022-06-07 15:05:18
445
原创 YII2使用Redis缓存助手怎么使用?
throw new \Exception('此时有任务正在执行');*YII2使用Redis缓存助手怎么使用?* 如果不存在写入缓存。//执行成功删除任务缓存。* Redis缓存助手。//执行你自己的逻辑。
2022-05-22 17:14:03
298
原创 YII2框架groupBy后orderBy取最新的数据
$query = COrder::find()->alias('co') ->leftJoin(CollagePGoods::tableName() . ' g', 'co.g_id = g.g_id') ->select('co.*,FROM_UNIXTIME(max(`co`.success_at)) as max_time,g.goods_info,g.main_img') ->where(['co.uid'=>$uid]);if (!empt.
2022-05-06 09:58:25
1456
原创 php生成短链接:将数字转成字母,将字母转成数字
一、基类方法:定义字符串、编写转换方法class NumberHelper{ public static $str="abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";/** * Param:将数字转为短字符串 * User: 赫陈 * Date: 2022/4/11 * @param $number * @return string */public static function gener.
2022-04-16 18:14:50
1034
2
转载 php高精度计算
一、前方有坑php在使用加减乘除等运算符计算浮点数的时候,经常会出现意想不到的结果,特别是关于财务数据方面的计算,给不少工程师惹了很多的麻烦。比如今天工作终于到的一个案例:$a = 2586;$b = 2585.98;var_dump($a-$b);期望的结果是:float(0.02)实际结果:float(0.019999999999982)人生有坑,处处提防二、防坑攻略:1、通过乘100的方式转化为整数加减,然后在除以100转化回来……2、使用num
2022-04-14 15:37:56
7085
原创 yii2框架发送get、post、多线程getAsync、postAsync请求获取数据
1、发送post方法:public function actionGetData(){ $client = new Client(); $requestUrl = 'https://www.littleshop.shop/api/v1/users/bonus/rank'; $pageArr = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17]; $header = [ 'authorization'=>'B
2022-01-15 15:29:33
1251
原创 redis解决并发注册生成唯一码
// $redis = \Yii::$app->redis;// $no_queue_key = 'user_no_list';// $getnoListRedis = $redis->rpop($no_queue_key);// if(empty($getnoListRedis)){// $no = No::find()->where(['uid' => 0])->limit(100)-&.
2022-01-15 14:46:55
377
原创 mac安装php-redis扩展
1、输入:pecl install redis开始执行安装看到successful说明安装成功2、查看php -m 查看安装的扩展phpinfo,确认安装结果执行程序,搞定!
2021-12-27 16:19:58
946
原创 yii migrate/create 怎么创建文件?
1、查看./yii migrate/create --help2、输入命令创建文件:php yii migrate/create insert_data_to_by_platform_message_template3、创建文件成功后,编辑文件内容4、执行命令操作数据库数据:php yii migrate
2021-12-21 14:08:21
797
原创 YII2框架生成数据库模型model过程
1.打开gii2.输入表名,自动生成类名,输入命名空间,输入基类3.点击预览和生成按钮4.去项目中查看生成文件注释、验证规则、字段都会自动生成,很方便,推荐使用
2021-12-20 19:00:12
1399
原创 查看ES版本号(Elasticsearch)
记录下说明:Elasticsearch 是一个分布式、高扩展、高实时的搜索与数据分析引擎。它能很方便的使大量数据具有搜索、分析和探索的能力。充分利用Elasticsearch的水平伸缩性,能使数据在生产环境变得更有价值。Elasticsearch 的实现原理主要分为以下几个步骤,首先用户将数据提交到Elasticsearch 数据库中,再通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据,当用户搜索数据时候,再根据权重将结果排名,打分,再将返回结果呈现给用户。Elasticsear..
2021-12-16 14:02:45
4893
原创 用户注册唯一码redis加锁限制
// $redis = \Yii::$app->redis;// $no_queue_key = 'user_no_list';// $getnoListRedis = $redis->rpop($no_queue_key);// if(empty($getnoListRedis)){// $no = No::find()->where(['uid' => 0])->limit(100)-&.
2021-12-14 16:34:27
983
原创 unable to load libxcrun (dlopen(/Library/Developer/CommandLineTools/usr/lib/libxcrun.dylib, 0x0005):
刚换了电脑,克隆项目的时候出现以下问题,搜了搜解决方案,发现大家都是Xcode重装解决,我双击Xcode重装,无效果,最后找到了解决办法,感谢大神的办法unable to load libxcrun (dlopen(/Library/Developer/CommandLineTools/usr/lib/libxcrun.dylib, 0x0005): tried: '/Library/Developer/CommandLineTools/usr/lib/libxcrun.dylib' (mach-o f
2021-12-02 11:47:25
4772
原创 Mac如何安装brew?
新换的Mac本,拿到手里,有点烫手,哈哈哈,什么环境都重新安装,检查了一下brew,需要安装,整个安装过程记录如下:安装过程:1、访问:GitHub - Homebrew/brew: ???? The missing package manager for macOS (or Linux)出现如上界面的话,网速不好,找个网速好的地方刷新,多刷几次就好了2、出来的界面,点击 install.sh,去查看最新的安装命令:3、复制最新的安装命令至终端中粘贴,然后回车:4、失败了
2021-12-01 17:29:33
54031
6
原创 Mac docker如何安装elasticsearch
首先,安装docker,具体安装在安装rabbitmq时有说,地址:Mac上怎么用docker安装rabbitmq_hechenhongbo的博客-CSDN博客其次,第一步:搜索elasticsearch命令:docker search elasticsearch第二步:拉取命令:docker pull elasticsearch:7.9.3 (7.9.3是版本号)第三步:查看docker中的镜像命令:docker images第四步:启动命令:dock...
2021-11-17 18:48:28
1939
原创 yii2框架获取sql语句,日志方法
$query = InvCode::find()->where($where);$sql = $query->createCommand()->getRawSql();
2021-11-17 17:07:55
1927
原创 Mac上怎么用docker安装rabbitmq
首先第一步:安装docker10.12以上的操作系统可以安装Docker Desktop for Macdocker mac版下载地址: https://docs.docker.com/desktop/mac/install/看你电脑的处理器是intel 还是apple自己的,下载相关的版本:第二步、下载好以后将鲸鱼的图标拖进你的应用中去至此安装好了。其次,安装rabbitmq第一步:搜索rabbitmq命令:docker search rabbitmq:mana..
2021-11-12 15:09:21
2445
原创 热乎的phpstorm该如何配置?
1、下载的新PHPstorm背景配置、字体大小配置:第一步:点击File->Settings第二步:设置背景和字体,所有的背景一个一个试过去,感觉第二个最好看,就选了第二个了,你们可以根据自己的喜好去选择第三步:设置字体大小,默认的12号对我来说太小了,16刚刚好;2、设置代码注释:第一步:可以设置类注释、方法注释、看情况增加用户名和时间第二步:配置单行注释显示在顶行的问题(Code Style -> PHP ->Code Generation-&...
2021-11-09 17:07:35
905
原创 Mac生成git私钥
先看一下本地的有没有,命令:ls -al ~/.ssh要是没有执行命令重新生成,命令:ssh-keygen -t ed25519 -C "hechenhongbo@yueshang.co"查看生成的私钥和公钥文件地址,输入查看命令:cat /Users/hongbo/.ssh/id_ed25519看到私钥后,就可以复制到git上了...
2021-11-05 11:33:45
1167
原创 laravel定时任务怎么写?
第一步:用PHP命令创建你想要执行的任务的文件,用 php artisan make:command 后面加上名称然后回车,看到successfully说明创建成功;执行完成后在app/console/commands文件夹中就会看到创建的文件第二步:点击文件名称,编辑文件写上需要执行的程序:<?phpnamespace App\Console\Commands;use Illuminate\Console\Command;use App\Service\Basket.
2021-11-05 10:08:37
345
转载 php抽奖概率算法
做网站类的有时会弄个活动什么的,来让用户参加,既吸引用户注册,又提高网站的用户活跃度。同时参加的用户会获得一定的奖品,有100%中奖的,也有按一定概率中奖的,大的比如中个ipad、iphone5,小的中个Q币什么的。那么我们在程序里必然会设计到算法,即按照一定的概率让用户获得奖品。先来看两个概率算法函数。算法一/** * 全概率计算 * * @param array $p array('a'=>0.5,'b'=>0.2,'c'=>0.4) * @return st
2021-10-25 18:24:27
1825
原创 laravel框架生成二维码和小程序码
1.生成二维码 public function Qrcode($rootNo) { //创建画板 $this->imgObj = self::canvas(320, 320); /**** * 生成二维码 */ $dir_path = public_path('image/basket'); if(!is_dir($dir_path)){ ...
2021-10-25 10:51:07
630
原创 laravel框架的参数验证
最近几年一直在用laravel框架,忽略了框架自身的验证类,细细研究,发现还挺好用,看了源码,发现参数的用途,第一个参数时接收到的参数,第二个参数是规则,第三个规则定义,第四个参数每个参数的自定义属性,可以写参数的汉字翻译,需要写上每个参数的规则public function transferOut(Request $request){ $params = $request->all(); $validator = \Validator::make($params,[ .
2021-10-20 15:12:41
882
原创 如何在 Mac 上安装 GCC?
亲测有效,方法如下:1)先安装Homebrew2) brew install gcc,如下图:测试安装是否成功,方法如下:1)执行 gcc -v,如下图:2)进入自己的目录写一个helloworld.cpp,内容如下:#include <iostream>using namespace std;int main(){ cout << "Hello, world!" << endl; return 0;...
2021-10-20 00:05:29
12682
3
转载 linux用户管理命令
linux用户管理命令用户管理----用户信息与密码的配置文件 用户管理要学的内容很多,当然了,不会简单的放两个创建用户的命令,这样的文章太多了。我们来看两个用户管理中非常重要的配置文件吧! 我们来看看用户的相关配置文件都存放在什么地方。用户信息文件: ...
2021-08-24 16:25:39
2582
原创 mac自带php 安装PHP扩展 freetype2
1、去网站下载freetype扩展文件:https://download.savannah.gnu.org/releases/freetype/我下载的是最新版的2、下载完成后,进入到下载目录解压下载包:cd /Users/hongbo/Downloads/tar -zxf freetype-2.11.0.tar.gzcd freetype-2.11.03、进入目录后,执行安装命令./configure --enable-static --enable-shared (没有指定p
2021-08-09 17:25:33
1086
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅