TypechoJoeTheme

Dcr163的博客

统计
搜索到 321 篇与 日志 的结果
2025-12-25

PHP生成无限级菜单

PHP生成无限级菜单
生成无限级菜单 O(n) —— 只遍历数据 两次(建 map + 挂载),每次 O(1) 查父节点 ,pid为父id,关系直接上代码: /** * 生成无限级菜单 O(n) —— 只遍历数据 两次(建 map + 挂载),每次 O(1) 查父节点 ,pid为父id,关系 * @return void */ public function index() { //基础数据 $baseData = [ ['id' => 1, 'pid' => 0, 'name' => 'a1'], ['id' => 2, 'pid' => 1, 'name' => 'a2'], ['id' => 3, 'pid' => 1, 'name' => 'a3'], ['id' => 4, 'pid' => 2, 'name' => 'a4'], ...
2025-12-25

日志

1,732 阅读
0 评论
2025年12月25日
1,732 阅读
0 评论
2025-10-09

Thinkphp6接入Paypal支付流程

Thinkphp6接入Paypal支付流程
直接进入主题这里直接在默认的Index控制器中编写的测试代码<?php /** * Created by PhpStorm. * Author: Dcr163 * Date: 2025/10/10 * Time: 15:49 * paypal服务类 */ namespace app\customer\services; use Exception; use think\App; use think\facade\Log; class PaypalService { //paypal 沙盒环境 const PAYPAL_URL = 'https://api-m.sandbox.paypal.com'; //paypal 正式环境 // const PAYPAL_URL = 'https://api-m.paypal.com'; //获取Token 链接 沙盒环境 const GET_TOKEN_URL = self::PAYPAL_URL . '/v1/oauth2/token'; //订单创建UR...
2025-10-09

日志

2,577 阅读
0 评论
2025年10月09日
2,577 阅读
0 评论
2025-09-28

Thinkphp8.0使用Rabbitmq的做队列和延迟队列代码实例

Thinkphp8.0使用Rabbitmq的做队列和延迟队列代码实例
前提是已经安装好Rabbitmq的服务和安装好Rabbitmq消息延迟队列插件新建数据表使用的orders表结构CREATE TABLE `orders` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `orderno` varchar(60) NOT NULL DEFAULT '' COMMENT '订单号', `price` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '价格', `create_time` datetime DEFAULT NULL, `cancel_time` datetime DEFAULT NULL, `status` tinyint(3) DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=75 DEFAULT CHARSET=utf8mb4 COMMENT '测试订单表';添加控制器在app模块新增一个控制器/app/controller/Order...
2025-09-28

日志

2,704 阅读
0 评论
2025年09月28日
2,704 阅读
0 评论
2025-09-11

php使用usort排序多维数组内的值

php使用usort排序多维数组内的值
直接上代码:$data = [ '一队' => [ 'counts' => 0, 'totals' => 0, 'team' => [ ['realname' => '张三', 'counts' => 10, 'totals' => 600], ['realname' => '张三2', 'counts' => 17, 'totals' => 478], ['realname' => '张三3', 'counts' => 190, 'totals' => 10000], ['realname' => '张三4', 'counts' => 8, 'totals' => 500], ] ], '二队' => [ 'counts' => 0, 'totals' =...
2025-09-11

日志

2,317 阅读
0 评论
2025年09月11日
2,317 阅读
0 评论
2025-06-21

PHP8编译安装Swoole6.0.2

PHP8编译安装Swoole6.0.2
环境Centos8PHP8.4.8Swoole6.0.2下载Swoole6.0.2使用的Github地址下载(比较新),下载地址:https://github.com/swoole/swoole-src可以下载zip或源码都行,我这边下载好了.zip解压:unzip swoole-src-master.zip进入到解压后的目录可以看到解压出来的是没有configure这个执行文件的,我们需要用php8的phpize命令生成下,我这边php8安装目录在/usr/local/php8/直接在当前目录执行命令:/usr/local/php8/bin/phpize执行完毕后就发现生成了这个文件了:configure开始执行configure执行命令:./configure --with-php-config=/usr/local/php8/bin/php-config这个选项--with-php-config一定要匹配到对应的目录编译并且安装执行命令:make && make install如果不出意外的话,就编译好了swoole.so这个文件到php8的扩展目录下在ph...
2025-06-21

日志

2,795 阅读
0 评论
2025年06月21日
2,795 阅读
0 评论
2025-06-05

Centos8搭建LNMP环境

Centos8搭建LNMP环境
先新建一个软件目录,我们全部放在lnmp这个目录中mkdir lnmp && cd lnmp下载Nginx先去官方网站下载http://nginx.org/en/download.html,这里我们选择最新版下载 http://nginx.org/download/nginx-1.23.4.tar.gz[root@centos8_1 lnmp]# wget http://nginx.org/download/nginx-1.23.4.tar.gz下载Mysql,这里我们使用Mysql8.0.33下载地址:https://cdn.mysql.com/Downloads/MySQL-8.0/mysql-8.0.33-linux-glibc2.12-x86_64.tar.xz[root@centos8_1 lnmp]# wget https://cdn.mysql.com/Downloads/MySQL-8.0/mysql-8.0.33-linux-glibc2.12-x86_64.tar.xz下载PHP7.4.33下载地址:https://www.php.net/di...
2025-06-05

日志

2,770 阅读
0 评论
2025年06月05日
2,770 阅读
0 评论
2025-06-04

安装PHP8报错:configure: error: iconv does not support errno

安装PHP8报错:configure: error: iconv does not support errno
遇到 configure: error: iconv does not support errno 错误时,通常与 libiconv 库的版本或配置有关。以下是详细的解决方案:安装或升级 libiconvPHP 8 对 libiconv 的兼容性要求较高,需安装 GNU 的 libiconv(非系统自带的 glibc 的 iconv)。步骤:1.下载 libiconv 源码wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.16.tar.gz2.解压并编译安装tar -zxvf libiconv-1.16.tar.gz cd libiconv-1.16 ./configure --prefix=/usr/local/libiconv make && make install
2025-06-04

日志

2,848 阅读
0 评论
2025年06月04日
2,848 阅读
0 评论
2025-05-15

在PHP中下载网络图片尽量用CURL,不要用file_get_content

在PHP中下载网络图片尽量用CURL,不要用file_get_content
例如:https://thirdwx.qlogo.cn/mmopen/vi_32/jDiauSBiauFCicDp9CBMjqNLfuaUibXQHciaaESNwvZhK2FQXTBJcvYwYcyOWrOmKO7otewTphq59g4J2GPfxE8DdNQ/132如果用file_get_contents函数下载保存,会影响程序的运行速度,快则几秒,多则几十秒这里建议用CURL操作:/** * 下载头像 * @param $url * @param $save_path * @param $openid * @return false|string[] */ private function saveWechatAvatar($url, $save_path, $openid) { // 创建保存目录 $absolute_path = $save_path; if (!file_exists($absolute_path)) { ...
2025-05-15

日志

2,638 阅读
0 评论
2025年05月15日
2,638 阅读
0 评论
2025-05-14

生产环境LNMP环境优化配置,高并发配置

生产环境LNMP环境优化配置,高并发配置
初始化服务器后,先挂载数据盘为数据盘创建分区fdisk -lu为数据盘创建分区yum install -y parted #开始分区 /dev/vdb 这个磁盘替换成自己的设备名称 parted /dev/vdb #在Parted交互命令行输入以下内容,设置GPT分区格式。 mklabel gpt #划分一个主分区,并设置分区的开始位置和结束位置。 mkpart primary 1 100% #检查分区是否对齐 align-check optimal 1 #是对齐的,结果如下所示: 1 aligned #查看分区表 print #退出Parted工具 quit #系统重读分区表 partprobe #查看新分区信息 fdisk -lu /dev/vdb分区创建文件系统yum install -y e2fsprogs #运行以下命令,创建文件系统 mkfs -t ext4 /dev/vdb配置开机自动挂载分区#备份/etc/fstab文件 cp /etc/fstab /etc/fstab.bak #修改/etc/fstab文件 echo `blkid /dev/vdb | awk ...
2025-05-14

日志,Linux

2,662 阅读
0 评论
2025年05月14日
2,662 阅读
0 评论
2024-12-28

acme.sh 实现生成免费证书并且自动续签

acme.sh 实现生成免费证书并且自动续签
acme.sh 实现了 acme 协议,可以从 ZeroSSL,Let's Encrypt 等 CA 生成免费的证书1. 安装 acme.sh安装很简单,一条命令:curl https://get.acme.sh | sh -s email=my@example.com或者wget -O - https://get.acme.sh | sh -s email=my@example.com普通用户和 root 用户都可以安装使用。安装过程进行了以下几步:把 acme.sh 安装到你的 home 目录下:~/.acme.sh/并创建 一个 shell 的 alias,例如 .bashrc,方便你的使用: alias acme.sh=~/.acme.sh/acme.sh自动为你创建 cronjob, 每天 0:00 点自动检测所有的证书,如果快过期了,需要更新,则会自动更新证书。更高级的安装选项请参考: https://github.com/acmesh-official/acme.sh/wiki/How-to-install安装过程不会污染已有的系统任何功能和文件,所有的修改都限制...
2024-12-28

日志,Linux

3,446 阅读
0 评论
2024年12月28日
3,446 阅读
0 评论

人生倒计时

今日已经过去小时
这周已经过去天
本月已经过去天
今年已经过去个月

最新回复

  1. blowjob
    2026-07-19
  2. バイナリー 取引ツール
    2026-07-11
  3. http://www.annunciogratis.net/author/oevsandra54
    2026-05-31
  4. web page
    2026-04-10
  5. plenty of insightful
    2026-03-19

标签云