- 博客(25)
- 资源 (6)
- 收藏
- 关注
原创 宝塔面板利用 Git + WebHook 实现与码云同步更新
本文介绍了实现Gitee代码自动同步到云服务器的完整流程:1.克隆指定分支项目到服务器并配置永久记住密码;2.生成SSH密钥并配置到Gitee仓库;3.在宝塔面板安装Webhook并配置脚本文件,设置项目路径、分支和仓库地址;4.在Gitee仓库配置Webhook URL和密钥;5.通过修改代码测试自动同步功能。整个过程实现了代码提交后自动同步到服务器的自动化部署。
2025-11-13 11:45:40
640
原创 宝塔面板使用WWW用户执行计划任务命令 解决laravel日志权限问题 宝塔设置计划任务执行用户
宝塔面板的计划任务默认执行用户是root,如果任务里有打印日志的操作,则自动创建的log文件也是root用户权限,而php的运行用户是www,对root用户创建的文件默认没有写权限,进而导致程序报错。
2025-11-13 11:36:19
302
原创 公共Wi-Fi潜藏风险的原因及自我防护策略
我们将深入探讨接入开放网络时实际会发生的状况。之后,还会介绍一系列切实可行的措施,即便你难以抵御免费Wi-Fi标识的诱惑,也能通过利用这些策略来保障自身网络安全。
2025-11-12 13:49:59
899
原创 日常工作中Git使用常见问题及解决办法
Git是现代软件开发过程中必不可少的一项工具,但在使用过程中难免会遇到各种问题。本文总结了十大Git使用常见问题及解决办法,希望对您有所帮助。
2025-11-11 10:46:18
290
原创 工作中经常用到的一些正则表达式总结
本文汇总了12个常用正则表达式,涵盖密码强度、中文校验、字符串格式、邮箱地址、身份证号、日期格式、金额、手机号、IP地址、URL、文件路径和HTML标签等验证场景。每个表达式都附有简要说明,解释其匹配规则和适用场景。这些正则表达式可用于前端验证、表单校验等多种开发需求,其中密码强度要求8-16位且包含大小写字母和数字,日期校验支持多种分隔符格式,IP地址验证严格限制0-255范围。文末推荐了在线测试工具regex101.com供开发者调试使用。
2025-11-10 14:21:45
757
原创 MySQL保存处理字符串中的4字节Unicode字符(如Emoji表情)失败问题
SQLSTATE[HY000]错误是因MySQL无法处理4字节Unicode字符(如Emoji)。解决方法包括:1.将数据库/表/字段字符集改为utf8mb4,修改MySQL配置文件;2.应用连接字符串中指定utf8mb4字符集,或过滤特殊字符;3.需MySQL≥5.5.3版本,注意字段长度和排序规则一致性。建议优先采用utf8mb4编码方案。
2025-11-10 09:49:09
298
原创 大厂常用的分布式 ID 生成方案
本文探讨了分布式系统中生成全局唯一ID的多种方案。分析比较了UUID、数据库自增主键、分库分表自增、号段式分配、Redis原子自增和雪花算法等主流方案的优缺点。重点介绍了雪花算法的实现原理,包括其41位时间戳+5位workerId+12位序列号的组成结构,以及如何解决时钟回拨问题。针对分库分表场景,提出了基于雪花算法嵌入基因信息(如库源、时间)的优化方案,实现多维度查询需求。各方案需根据业务场景在唯一性、性能、有序性、可用性等维度进行权衡选择。
2025-11-05 10:41:35
571
原创 H5 页面跳转下载 APP:iOS 与安卓端 实现方法
本文详细介绍了H5页面跳转下载APP的实施方案。对于iOS端,可通过配置URLScheme实现直接打开已安装APP,未安装时引导至AppStore;安卓端则通过intent协议实现跳转,未安装时引导至应用市场。文章还提供了具体代码示例,并提醒注意系统兼容性和应用商店政策。这些方法能有效提升H5到APP的用户转化率,为移动端产品推广提供实用解决方案。
2025-11-04 15:08:08
1065
原创 ueditor上传的文件以文件自身的md5值命名
ueditor PHP文件目录修改Uploader.class.php 文件找到 getFullName 方法替换代码function getFullName() { //替换日期事件 $t = time(); $d = explode( '-', date( "Y-y-m-d-H-i-s" ) ); $format = $this->config[ "pathFormat" ]; $format = str_replace( "{yyyy}", $d[ 0 ], $for.
2022-01-18 09:40:48
361
原创 面试总结2:redis热门面试问题希望对大家有所帮助
1、讲一讲为什么Redis这么快?首先,采用了多路复用io阻塞机制然后,数据结构简单,操作节省时间最后,运行在内存中,自然速度快什么是回表?简单来说就是数据库根据索引(非主键)找到了指定的记录所在行后,还需要根据主键再次到数据块里获取数据。如何避免回表 将需要的字段放在索引中去。查询的时候就能避免回表。 2、常用应用场景(string)1、热点数据的缓存2、限时业务的运用(string)(redis中可以使用expire命令设置一个键的生存时间,到时间后redis会删除它。
2021-08-18 11:20:46
196
1
原创 gitignore 不起作用
git rm -r --cached .git add .git commit -m "update .gitignore" 需要使用双引号 git push
2021-08-12 17:43:13
144
原创 面试总结1:mysql常见面试问题,肯定有你遇到过的
二、索引类型Mysql目前主要有以下几种索引类型:FULLTEXT,HASH,BTREE,RTREE。1. FULLTEXT即为全文索引,目前只有MyISAM引擎支持。其可以在CREATE TABLE ,ALTER TABLE ,CREATE INDEX 使用,不过目前只有 CHAR、VARCHAR ,TEXT 列上可以创建全文索引。全文索引并不是和MyISAM一起诞生的,它的出现是为了解决WHERE name LIKE “%word%"这类针对文本的模糊查询效率较低的问题。RTREE在
2021-08-09 11:17:08
154
原创 PHP自定义excel导出类,没有任何文件引用
自定义excel导出类,没有任何文件引用,当没有composer或者不方便使用时,可哪去试试<?php/** * PHP 导入导出类 * PHP Version 7.0 */ class excel{ /** * 导出excel * @param array $data 导入数据 * @param string $savefile 导出excel文件名 * @param array $fileheader excel的表头
2021-08-09 11:10:50
158
原创 PHP for 循环如何实现实时输出
在for循环的最后面加上以下代码即可。。。ob_end_flush();//关闭缓存echo str_repeat(" ",256); //ie下 需要先发送256个字节set_time_limit(0);flush();
2021-08-05 15:20:39
517
原创 apache 或者 nginx 支持include html踩坑总结
在httpd.conf中options后添加:AddTypetext/html.htmAddTypetext/html.htmlAddOutputFilterINCLUDES.htmAddOutputFilterINCLUDES.html
2021-06-04 11:19:32
259
原创 MySQL JSON类型
MySQL支持JSON数据类型。相比于Json格式的字符串类型,JSON数据类型的优势有:存储在JSON列中的JSON文档的会被自动验证。无效的文档会产生错误; 最佳存储格式。存储在JSON列中的JSON文档会被转换为允许快速读取文档元素的内部格式。存储在JSON列中的任何JSON文档的大小都受系统变量max_allowed_packet的值的限制,可以使用JSON_STORAGE_SIZE()函数获得存储JSON文档所需的空间。JSON值的局部更新在MySQL8.0中,优化器可以执行JSO
2020-09-22 09:34:51
2043
转载 PHP8 新特征
联合类型(Union Types)可以声明变量可能的类型,语法糖=鸡肋,旧版本不声明就是。class Number { private int|float $number; public function setNumber(int|float $number): void { $this->number = $number; } public function getNumber(): int|float { r.
2020-09-12 14:28:21
630
原创 MySQL Explain详解
在日常工作中,我们会有时会开慢查询去记录一些执行时间比较久的SQL语句,找出这些SQL语句并不意味着完事了,些时我们常常用到explain这个命令来查看一个这些SQL语句的执行计划,查看该SQL语句有没有使用上了索引,有没有做全表扫描,这都可以通过explain命令来查看。所以我们深入了解MySQL的基于开销的优化器,还可以获得很多可能被优化器考虑到的访问策略的细节,以及当运行SQL语句时哪种策略预计会被优化器采用。-- 实际SQL,查找用户名为Jefabc的员工select * from emp
2020-09-11 14:44:46
127
转载 PHP中那些你不知道的坑,PHP的坑,PHP漏洞
函数返回参数之坑 通常函数返回的数据类型都是固定的,比如Int,String,Array等。但是PHP不一样,PHP中很多函数返回的数据类型并不固定。 例如json_decode($a)函数,正常情况下这个函数能将字符串转换成数组然后返回,但是少数情况下它会放飞自我。比如传入true会返回true,传入false会返回false,传入NULL会返回NULL。就像欢乐农场一样种瓜得瓜,种豆得豆。如果你传入的字符串不是标准JSON格式,或者JSON串的层数超过定义的值,又会返回NULL。 ...
2020-09-10 09:31:28
356
原创 无限级分类数据递归成树结构
/** * 递归生成分类树 * @param array $item 分类数据 * @param int $parent_id 父id * @param string $sub 子类名称 * @return array */ public static function getTree($item = array(), $parent_id = 0, $sub = 'children') { $data =...
2020-09-09 14:36:34
249
原创 Yii2笔记 入口脚本
入口脚本是应用启动流程中的第一环,一个应用(不管是网页应用还是控制台应用)只有一个入口脚本。终端用户的请求通过入口脚本实例化应用并将将请求转发到应用。Web 应用的入口脚本必须放在终端用户能够访问的目录下,通常命名为 index.php,也可以使用 Web 服务器能定位到的其他名称。控制台应用的入口脚本一般在应用根目录下命名为 yii(后缀为.php),该文件需要有执行权限,这样用户就能通过命令 ./yii <route> [arguments] [options] 来运行控制台应用。
2020-08-31 13:56:30
161
转载 yii-pay - 适配于 Yii 的 alipay 和 wechat 的支付扩展包
环境要求Yii >= 2.0安装$ composer require guanguans/yii-pay -v配置Yii2 配置文件config/main.php的 components 中添加:'components' => [ // ... 'pay' => [ 'class' => 'Guanguans\YiiPay\Pay', 'wechat' => [ 'appid' =>..
2020-07-13 10:47:54
1403
转载 解决composer下载yii2没有vendor文件夹问题
原因: composer-asset-plugin没有安装或者版本太低解决办法: step0:下载composer-asset-plugin composer global require "fxp/composer-asset-plugin:~1.1.1" step1:安装composer-asset-p...
2019-11-05 15:54:43
592
转载 PHP高效率写法和习惯,代码优化
1 字符串1.1 少用正则表达式能用PHP内部字符串操作函数的情况下,尽量用他们,不要用正则表达式, 因为其效率高于正则。没得说,正则最耗性能。str_replace函数要比preg_replace快得多,strtr函数又比str_replace来得快。有没有你漏掉的好用的函数?例如:strpbrk()、strncasecmp()、strpos()、strrpos()、st...
2019-09-27 17:51:38
174
yii2整合phpqrcode
2018-06-05
newfile0530.zip
2020-05-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅