Siam_社区达人页

个人头像照片
Siam
已加入开发者社区1873

勋章 更多

个人头像照片
专家博主
专家博主
个人头像照片
星级博主
星级博主
个人头像照片
技术博主
技术博主
个人头像照片
初入江湖
初入江湖

成就

已发布118篇文章
0条评论
已回答0个问题
0条评论
已发布0个视频
github地址

我关注的人 更多

技术能力

兴趣领域
  • Java
擅长领域
  • Linux
    初级

    能力说明:

    掌握计算机基础知识,初步了解Linux系统特性、安装步骤以及基本命令和操作;具备计算机基础网络知识与数据通信基础知识。

技术认证

PHP也许不是最好的语言,但是我最熟练和最喜欢的语言! 本人参与Easyswoole框架开发组成员,热爱开源;热爱学习;热爱技术; 接触的其他语言有Node.js Go Python。

暂无精选文章
暂无更多信息

2022年12月

  • 12.13 13:32:55
    发表了文章 2022-12-13 13:32:55

    swoole,swoole_timer_tick() must be callable, array given 报错异常

    easyswoole框架内部交流后也说明这个问题是由于swoole版本变动,很早以前就在新版做了兼容(将intervalCheck改为public方法)
  • 12.13 13:31:22
    发表了文章 2022-12-13 13:31:22

    PHP解析Markdown库,parsedown扩展自定义语法

    在开发系统过程中,有些信息编写储存是使用Markdown通用语法,但由于各个平台的会新增一些独特规范,一般的解析库都是只包含了标准语法,对于自定义语法是不支持解析的(如vuepress文档系统中的::: tip 提示语块) 我们从vuepress迁移文档系统到自己实现的文档系统时,特定标签无法解析,需要扩展解析库的功能,来完成自定义语法。 PHP常见的Markdown解析库是parsedown。这个库非常的轻量,只有一个文件,无需依赖其他扩展。
  • 12.13 13:29:59
    发表了文章 2022-12-13 13:29:59

    Vue vant引入,tabbar封装使用示例

    使用tabbarTempValue值来监听,使用active值来接收。这是为了防止props为单向数据绑定,在组件内改变值后会产生报错,父页面无法接收
  • 12.13 13:28:50
    发表了文章 2022-12-13 13:28:50

    mysql从5.7迁移表结构到5.5报错 near '(0) NULL DEFAULT NULL'

    解决该问题(或者说从根源上避免遇到此类问题),应该保证开发环境的一致,同一项目的所有开发人员都应该保持所有环境的版本号一致(最好精确到小版本) 如果只是为了临时在mysql5.5完成测试,并且确认业务程序不需要使用到时间的小数秒,可以将sql文件中的长度设置删除,然后导入
  • 12.13 13:27:15
    发表了文章 2022-12-13 13:27:15

    php-fpm应用与php-swoole应用进行通信

    把Workerman作为一个可以向浏览器推送的通道,仅仅在需要向浏览器推送数据时才调用Workerman接口完成推送。业务逻辑全部在ThinkPHP中完成。
  • 12.13 13:25:14
    发表了文章 2022-12-13 13:25:14

    PHP中simplexml_load_string解析xml的正确方式

    对接我php接口的是安卓客户端,json字符串中在一个元素的时候是对象类型,多个元素的时候是数组类型,安卓客户端解析就失败了。 所以引申出这篇文章,详细测试、记录一下php中解析xml方式和细节
  • 12.13 13:22:42
    发表了文章 2022-12-13 13:22:42

    php对象字段声明,easyswoole ORM 快速生成注释

    在PHPSTORM IDE中,我们可以通过注释给类写明可调用字段名,这样子才有语法提示。 比如在Thinkphp中,虽然允许我们可以通过对象属性方式去调用,但是并没有语法提示。 添加注释后 就舒服很多了。
  • 12.13 13:21:06
    发表了文章 2022-12-13 13:21:06

    EasySwoole安装,包含所有组件

    所有组件可以直接用,无需再一个一个引入,总大小8.6Mb
  • 12.13 13:19:54
    发表了文章 2022-12-13 13:19:54

    宝塔面板数据库迁移一种小技巧方式

    要迁移数据,那么一般情况下两边服务器的mysql版本、配置应该保持一致 将变化的可能性尽可能减低,否则你不会预料到迁移过后会发生什么事.. 其实这个方法只是在恢复数据的时候一种小灵活的手法。主体逻辑还是没有变化的。
  • 12.13 13:17:46
    发表了文章 2022-12-13 13:17:46

    Navicat数据同步,主键重复无法插入

    Navicat是一个非常好用的可视化mysql管理软件(其他数据库也有对应版本的支持) 它拥有非常丰富的功能,结构同步、数据同步、数据传输、进程监控、数据导出导入等等 但这是一个付费软件,新用户可以免费试用,这个问题是笔者在以前试用处理数据的时候遇到的。
  • 12.13 13:15:21
    发表了文章 2022-12-13 13:15:21

    easyswoole mysql-pool连接池empty null的问题

    计算机是由许多零件组装而成,比如CPU、内存、硬盘等等。 当我们进行网络连接、请求的时候,就需要在不同组件中传递和返回各种信号、数据 比如在CPU、内存、网卡中,数据的传递,请求,获取。 如果在短时间内进行一万次mysql的连接,就需要在这个往返过程循环,在路上浪费了很多时间、性能消耗。 如果我们先把连接连接好,并且放在连接池中,程序中需要使用就从池中获取,执行操作。
  • 12.13 13:13:39
    发表了文章 2022-12-13 13:13:39

    easyswoole一键安装脚本,宝塔安装错误

    需要注意的是,这只是几句很简单的命令,并且在文档中都有出现。只是文档有比较多的场景描述,可能导致有些新人没有细心观看到。
  • 12.13 13:10:03
    发表了文章 2022-12-13 13:10:03

    JS的字符串插值,变量长文本换行

    作为一个PHPer,经常需要在html中写js jq来解析数据,形成列表、选项等等。 (谁让我们PHPer还要兼顾页面呢?? 又不会Vue,只能这样子讨讨生活。) 那么就经常遇到Html代码拼接,或者字符串拼接,可能是这样子的问题
  • 12.13 13:08:43
    发表了文章 2022-12-13 13:08:43

    php定期拉取数据对比

    如果我们使用宝塔面板当成运维工具,那么我们就可以很方便地添加计划任务了,如下图,宝塔中内置了挺多计划任务的类型,如定时请求URL,运行脚本,备份文件等等。 可视化配置,带给我们极大的便利,维护、添加都节约了很多的时间。 这也是为什么宝塔受到那么多人喜爱的原因之一吧。
  • 12.13 13:06:38
    发表了文章 2022-12-13 13:06:38

    VMware Workstation客户端 Centos系统 中文乱码 UTF-8字符无法正常显示

    发生该问题的时间比较长了,之前没有第一时间整理记录。依稀记得是因为系统重装之后,Vmware软件重新安装,然后导入以前的虚拟机配置文件,就出现了中文乱码的问题。 从百度上查到的各种资料,都是说语言包和配置的问题,需要重新安装、修改配置等等步骤,下面将记录我的尝试步骤和解决问题的方案。
  • 12.13 13:04:14
    发表了文章 2022-12-13 13:04:14

    MD5在PHP中使用的注意事项

    仅需要记住一个原则:MD5加密结果的判断都需要===执行即可。 ===在PHP中的判断,不只是判断值,而且还要判断变量的类型,如果不同,则不相等。
  • 12.13 12:59:59
    发表了文章 2022-12-13 12:59:59

    php计算两个日期之间的间隔,避免导出大量数据

    在做系统业务功能的时候,有的时候业务人员会进行超大范围地导出excel表格,导致内存、CPU占用飙升。 这对于系统的平滑运行不太友好,应该进行导出任务排队、限制范围等操作来控制频率、资源使用率。
  • 12.13 12:58:28
    发表了文章 2022-12-13 12:58:28

    Nginx重试机制,浏览器重复请求两次多次

    问题找到了,原因是Nginx配置文件中,超时时间太短了:proxy_connect_timeout 20;;在Nginx的默认配置是:在客户端请求服务器超时的情况下,Nginx会自动转发该请求到另外一台服务器上,这是Nginx的一种容错机制,所以Nginx的访问日志中会出现同一条请求而两台服务器都执行了一遍的情况,这样以来,程序如果没有做幂等性操作的话数据库会出现两条记录。
  • 12.13 12:56:51
    发表了文章 2022-12-13 12:56:51

    【常见问题】宝塔面板如何安装最新版本的php扩展swoole

    宝塔面板能提高我们非运维专业人员的管理效率,但是也会损失一些灵活性,要根据需求灵活使用工具。
  • 12.13 12:55:39
    发表了文章 2022-12-13 12:55:39

    Mysql误删,恢复数据,binlog闪回,宝塔面板

    binlog是二进制日志文件,用来记录Mysql内部对数据库的改动(只记录对数据的修改操作),主要用于数据库的主从复制以及增量恢复。 当我们搭建mysql主从复制的时候,两个实例之间也是通过binlog来完成数据的备份同步。 所以有这种根据binlog得到执行sql语句、闪回sql语句,我们只需要利用根据分析binlog,然后就可以找到准确的数据改动sql,并得到闪回sql,检查无误后执行就可以恢复数据了
  • 12.13 12:52:04
    发表了文章 2022-12-13 12:52:04

    【源码解读】TP5return json_encode ajax自动被加上双引号

    在thinkphp5中,return数据才是控制器正确的时候方式,而不是直接echo 然后die 或者exti 因为框架有后置数据的落地处理等等,直接让程序退出并不友好,既然我们选择了框架,就应该遵循框架的设计理念 这样子能让我们避免一些坑爹事件的发生。
  • 12.13 12:50:45
    发表了文章 2022-12-13 12:50:45

    layui2.0数据表格导出复杂表头EXCEL解决方案,table2excel

    layui是一套面向所有层次的前后端开发者,零门槛开箱即用的前端UI解决方案。很多的后端开发在开发后台系统时候都会选择它。 数据表格组件也是使用非常频繁的,它可以快速从api得到数据并进行处理渲染成表格,并且还有排序、总计、导出表格等等功能。
  • 12.13 12:49:09
    发表了文章 2022-12-13 12:49:09

    多Iframe版后台,在一个iframe切换到另一个iframe,同时刷新

    多Iframe版后台,在一个iframe切换到另一个iframe,同时刷新
  • 12.13 12:46:59
    发表了文章 2022-12-13 12:46:59

    layui数据表格checkbox设置部分不可选

    在layui数据表格中设置了字段为type:checkbox 但是想要实现部分不显示,不可选的功能。
  • 12.13 12:44:18
    发表了文章 2022-12-13 12:44:18

    讨论 - 为什么要使用docker和docker-compose

    对于开发和运维人员来说,最希望的就是一次创建或配置,可以在任意地方正常运行。 使用Docker可以通过定制应用镜像来实现持续集成,持续交付,部署。开发人员可以通过Dockerfile来进行镜像构建,并结合持续集成系统进行集成测试,而运维人员则可以在生产环境中快速部署该镜像,甚至结合持续部署系统进行自动部署
  • 12.13 12:39:15
    发表了文章 2022-12-13 12:39:15

    实战 - docker-compose搭建基本的nginx+php环境

    docker-compose使用后缀为yml的文件定义你的服务容器关系 下面我们用一个nginx+php的简单例子来演示 创建项目总目录
  • 12.13 12:37:02
    发表了文章 2022-12-13 12:37:02

    实战 - 多容器,Nginx容器灵活切换PHP版本!同时运行多个PHP容器

    注意挂载目录不需要同我的命令一致 自己修改 因为默认都是9000端口 所以不能同时运行 ,创建完一个先stop 创建第二个。需要同时运行的看下面的步骤↓↓↓ 运行需要的php版本容器 运行容器后查看容器的ip $ docker inspect php70 查找以下行 “IPAddress”: “172.17.0.2”, 如果要在nginx使用别名去访问 则需要把hosts文件挂载出来 因为修改了nginx配置需要重启机器,手动修改是没用的。! 接着开启nginx容器,然后进入nginx容器,在nginx的配置文件里修改,(我已经挂载在主机本地目录,详细看前一章节)
  • 12.13 12:34:30
    发表了文章 2022-12-13 12:34:30

    入门 - Docker容器数据储存和转移

    容器和镜像之间的主要区别是顶部的可写层。所有对容器添加新的或修改现有数据的内容都存储在该可写层中。当容器被删除时,可写层也被删除。底层镜像保持不变。 同一个镜像可以被创建多个同时运行的容器,相当于最上层的可写层不同而已,Docker版“披上羊皮的狼”。
  • 12.13 12:32:56
    发表了文章 2022-12-13 12:32:56

    入门 - Docker将nginx容器和php容器关联起来

    新建完文件后就可以开启容器了,开启后应该就正常了,访问你的服务器ip(默认就是80端口,应该就可以正常访问nginx) 然后在刚刚的主机目录/home/wwwroot/下新建一个目录default (因为在nginx里设置的默认目录,可以自己修改) 然后新建test.php 写入php代码测试运行。
  • 12.13 12:31:30
    发表了文章 2022-12-13 12:31:30

    宝塔面板多PHP版本中编译安装升级Swoole

    phpize是用来扩展php扩展模块的,通过phpize可以建立php的外挂模块。当php编译完成后,php的bin目录下会有phpize这个脚本文件。在编译你要添加的扩展模块之前,执行phpize就可以了;
  • 12.13 12:30:09
    发表了文章 2022-12-13 12:30:09

    TP5.0.20 - TP5更改网站目录为/public 后运行出错解决

    当程序要使用例如fopen()或file_get_contents()打开一个文件时,这个文件的位置将会被检查。当文件在指定的目录树之外,程序将拒绝打开。 本指令不受安全模式打开或关闭的影响。
  • 12.13 12:29:06
    发表了文章 2022-12-13 12:29:06

    PHP生成不重复的订单号

    uniqid()函数基于以微秒计的当前时间,生成一个唯一的 ID。当时前面的7位是不会经常变动的(应该是秒数,一秒一次) 所以我们使用substr()函数,截取字符串,从第8位到13位,接着这里会有一个问题,得到的是数字+字母的随机数,如果你需要的订单号可以包含字母,这里不需要转换也可以。
  • 12.13 12:27:31
    发表了文章 2022-12-13 12:27:31

    无限级子商户的查询优化方法

    A 有 2 个直接下级B、C, B有2个直接下级D、E, C有2个直接下级F、G 我们正常的做法是使用递归这样操作:先查询出所有上级为A的子商户,再查询所有上级为上一个查询结果的子商户。
  • 12.13 12:25:38
    发表了文章 2022-12-13 12:25:38

    session在浏览器关闭时进行何处理?以及回收机制

    当浏览器关闭的时候,会 清空Cookies ,这是浏览器对自己软件的操作,但是并不能对服务端的储存文件进行操作,所以这个时候服务端的session文件将继续生存。 当我们关闭浏览器,甚至电脑重启,短时间内服务端的session仍保存着,直到它被回收,这个时候我们通过一些手段模拟sessionid,仍可以继续保持会话进行。
  • 12.13 12:24:07
    发表了文章 2022-12-13 12:24:07

    数据分表分库的基本思路

    当一个数据库被创建之后,随着时间的推移和业务量的增加,数据库中的表以及表中的数据量都会越来越多,就有可能会出现两种弊端: (1)数据库的存储资源是有限的,其负载能力也是有限的,数据的大量积累肯定会导致其处理数据的能力下降; (2)数据量越多,那么对数据的增删改查等操作的开销也会越来越大; 所以,当出现如上两种情况,分库分表势在必行。
  • 12.13 12:22:24
    发表了文章 2022-12-13 12:22:24

    手把手教你写一个composer包

    由于程序届的《开源运动》,我们可以在社区找到很多别人提供的工具,也可以向社区贡献我们的代码。 在github还没有兴起的年代,我们是需要到工具的官网下载代码,比如jquery。然后放到我们自己的项目目录里,再在我们的页面中使用。
  • 12.13 12:15:10
    发表了文章 2022-12-13 12:15:10

    PhpSpreadsheet导出Excel表格,长数字自动转科学计数法 2019-08-30

    凡数字超过11位数,Excel 表格就会用科学记数法显示。如果要输入超过11位的数,得把单元格设为文本形式或在输入数字前先输入一个英文单引号(’)。(单引号在英文输入法下输入)
  • 12.13 12:13:19
    发表了文章 2022-12-13 12:13:19

    PHP图片文字合成居中

    PHP使用GD库创建和处理包括GIF,PNG,jpef,wbmp以及xpm在内的多种格式的图像。 以下教程:图片合成文字,实现合成文字水平、垂直居中。
  • 12.13 11:59:11
    发表了文章 2022-12-13 11:59:11

    bitmap算法的PHP实现,快速去重排序,数据压缩储存

    因为电路的逻辑只有0和1两个状态,这里的0和1并不是数字的0和1,0和1是表示两种不同的状态,0表示低电平,1表示高电平。因为计算机是由无数个逻辑电路组成的,只能根据0和1的无限位数和组合来表达信息。 电脑只认识0和1这两个数字,所有的数据在电脑中都是以0和1组成的编码存储的,这样的编码叫做二进制。一个0或一个1就叫做一个位 最初的计算机性能和存储容量都比较差,所以普遍采用4位BCD编码(这个编码出现比计算机还早,最早是用在打孔卡上的)。
  • 12.13 11:53:58
    发表了文章 2022-12-13 11:53:58

    PHP:Phar的打包和使用

    Phar包在概念上类似于Java的Jar包,但是根据PHP应用程序的需求和灵活性进行了定制,Phar包用于在单个文件中分发完整的PHP应用程序或者库(单一入口)。 使用Phar包和使用其他的PHP库是相同的: 加载文件 –> 调用
  • 12.13 11:50:21
    发表了文章 2022-12-13 11:50:21

    PHP设置Redis储存Session,自定义session驱动

    PHP也可以配置将session保存在redis或者memcache中,在几种用来存储会话数据的方式。显然是Redis在效率上要更快些,而与memcached相比,因为有持久化,也更安全一些。 所以也是常用的负载均衡环境处理session的策略。 但因为是将信息储存在内存中,可能会出现内存不足、利用率不高等问题。 优点:效率高 缺点:信息储存在内存中,会产生大小不一的内存块,内存无法完全利用,并且可能出现内存不足。
  • 12.13 11:43:39
    发表了文章 2022-12-13 11:43:39

    HTTP跨域详解和解决方式

    域既是 Windows 网络操作系统的逻辑组织单元,也是Internet的逻辑组织单元,它是安全边界。 只有域的所有者才能访问管理域内部的资源,若其他的域要访问或者管理,则需要该域赋予其他域相关权限。 从小角度来讲,在php中的变量作用域,就可以体现出安全边界的概念。在以下例子中,调用test函数并不会输出任何内容。
  • 12.13 11:38:26
    发表了文章 2022-12-13 11:38:26

    PHP自动加载与composer自动加载

    在面向对象的程序中,大部分的情况都是需要使用命名空间的。我们先了解命名空间的知识,在后续也会结合命名空间实现自动加载 在我们使用计算机的过程,如果想在同一个路径目录下新建两个同名的文件,将会得到错误提示,当前目录下已经存在该文件名的文件。 在php程序中也是如此,我们没办法在同一个空间下声明两个一样类名的文件,否则会得到报错提示 Cannot declare class A, because the name is already in use
  • 12.13 11:35:09
    发表了文章 2022-12-13 11:35:09

    PHP path_info,Thinkphp controller not exists index\php

    研究过thinkphp框架源码的,或者深入了解过mvc的,都应该知道thinkphp框架的路由,是根据path_info值来解析的,甚至传参也可以带在path_info中
  • 12.13 11:33:42
    发表了文章 2022-12-13 11:33:42

    mysql聚合统计数据查询缓慢优化方案

    在我们日常操作数据库的时候,比如订单表、访问记录表、商品表的时候。 经常会处理计算数据列总和、数据行数等统计问题。 随着业务发展,这些表会越来越大,如果处理不当,查询统计的速度也会越来越慢,直到业务无法再容忍。 所以,我们需要先了解、思考这些场景知识点,在设计之初,便预留一些优化空间支撑业务发展。
  • 12.13 11:32:03
    发表了文章 2022-12-13 11:32:03

    JSON序列化接口,JsonSerializable

    php还提供了一个自定义类序列化的接口,JsonSerializable 实现 JsonSerializable 的类可以 在 json_encode() 时定制他们的 JSON 表示法。
  • 12.13 11:30:45
    发表了文章 2022-12-13 11:30:45

    Chrome浏览器开发工具之scheme入口

    chrome://net-internals/#events net-internals是一套工具集合,用于帮助诊断网络请求与访问方面的问题,它通过监听和搜集 DNS,Sockets,SPDY,Caches等事件与数据来向开发者反馈各种网络请求的过程、状态以及可能产生影响的因素。
  • 12.13 11:28:52
    发表了文章 2022-12-13 11:28:52

    PHP中对象的序列化和反序列化

    serialize() 返回字符串,可以存储于任何地方。 serialize() 可处理除了 resource 之外的任何类型。甚至可以 serialize() 那些包含了指向其自身引用的数组。 这有利于存储或传递 PHP 的值,同时不丢失其类型和结构。 在需要恢复的地方使用unserialize()函数即可
  • 12.13 11:27:36
    发表了文章 2022-12-13 11:27:36

    PHP解析json、xml错误

    php内置函数json_decode() 可以解析json字符串 但是有的时候看起来正确的json,解析却一直返回null。 你知道吗,json是可能解析失败的,此时PHP不会产生提示。 我们需要手动通过json_last_error()函数获取
  • 发表了文章 2022-12-13

    hyperf命令行与协程

  • 发表了文章 2022-12-13

    我与我的ipad(ipad当win10副屏之路)

  • 发表了文章 2022-12-13

    Why Git?

  • 发表了文章 2022-12-13

    AWS-assumeRole.控制不同token访问不同目录

  • 发表了文章 2022-12-13

    phpstorm食用指南(自用)

  • 发表了文章 2022-12-13

    对象存储vs文件存储

  • 发表了文章 2022-12-13

    《架构师修炼之道》第八章--建立模型,化繁为简

  • 发表了文章 2022-12-13

    《架构师修炼之道》第七章--架构模式

  • 发表了文章 2022-12-13

    windows.Docker.安装运行失败

  • 发表了文章 2022-12-13

    docker自用小手册

  • 发表了文章 2022-12-13

    压力测试笔记

  • 发表了文章 2022-12-13

    swoole-cli常见问题

  • 发表了文章 2022-12-13

    go在ubuntu交叉编译windows应用.cgo错误

  • 发表了文章 2022-12-13

    go项目.github actions自动打包exe发布版本

  • 发表了文章 2022-12-13

    php新语法

  • 发表了文章 2022-12-13

    vcruntime140_1.ddl下载记录

  • 发表了文章 2022-12-13

    linux一切皆文件扩展笔记

  • 发表了文章 2022-12-13

    mysql加索引的时候到底会不会锁表.深入解析

  • 发表了文章 2022-12-13

    B端C端产品的对比

  • 发表了文章 2022-12-13

    git协作工作流方式

正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息
正在加载, 请稍后...
暂无更多信息