Echarts-PHP时隔4年后发布新版本1.1.1

Posted on 2022-03-03 18:17:06 | 0 comments | 331℃ | PHP

由于近年来工作较忙,Echarts-PHP的维护基本停滞了,看了下,截至到目前,项目的安装次数超过了13w,说明还是有帮到有需要的人的。

今天抽空优化了一下代码,发布了时隔4年后的新版本1.1.1

项目地址:https://github.com/hisune/Echarts-PHP 欢迎star

更新内容:

优化

  • 更新默认版本到5.3.0
  • 同步更新最新的IDE文档到5.3.0
  • 修改默认CDN为官方的jsdelivr
  • 优化Autogenerate
  • 修改options.json的地址为github官方地址

新增

  • 新增空对象赋值支持

实时同步日志到clickhouse

Posted on 2022-03-01 15:42:33 | 0 comments | 341℃ | PHP

背景介绍

造轮子的原因?

  • filebeat 在我司日志采集的时候 CPU 占用很高
  • 采集日志到 clickhouse 需要 filebeat 和类似 kafka 的工具配合使用,维护成本变高
  • 市面上没有其他 log 文件直接采集到 clickhouse 的工具

稳定性怎么样?

  • 截至这篇文章发表,已经稳定在我司线上跑了一周了

log2ck

此工具能将monolog标准log直接通过tcp协议实时写入clickhouse。如果你会写正则,其他标准化log也能支持。

项目地址:https://github.com/hisune/log2ck 欢迎star

特性

  • 极简代码
  • 高性能(在线上业务中对比cpu占用仅为filebeat的1/20)
  • 无第三方服务依赖(例如队列等)
  • 配置化
  • 定制化(...

phantomjs或casperjs截图,中文不显示,或显示大小有问题

Posted on 2021-03-24 21:08:07 | 0 comments | 1413℃ | 杂文

问题

phantomjs或casperjs截图,中文不显示,或显示大小有问题

原因

  • 中文不显示:没有安装中文字体
  • 显示大小不正确:安装的字体不对,网上一通乱抄yum install bitmap-fonts bitmap-fonts-cjk这种方式解决的会有这种问题

解决办法

定位到问题后就比较好解决了,先确定目标网站的font-family使用的是哪一种,再去寻找相应的ttf字体格式即可

以常用的web字体微软雅黑为例,先从windows目录C:\Windows\Fonts拷贝出来以下文件:

msyh.ttc
msyhbd.ttc

注意微软雅黑字体需要在资源管理器搜索中文名才能找到,但拷贝出来的名称是msyh*.ttc,bd是粗体

需要将ttc转换为ttf格式,打开[https://tra...

clickhouse踩坑指南

Posted on 2021-01-08 12:01:37 | 0 comments | 2505℃ | 杂文

本踩坑指南视本人使用情况和本人心情不定期更新,很多是独家解决方案。如有更优解,欢迎在底下留言指出,共同探讨!

1. divide的分母为0判断无效

select divide(12.3456, 0);

返回是正常的,但是如果是正常数据库里面的内容

select divide(cost_sum, new_100_num)

在数据库字段中new_100_num的值为0时,会报错: DB::Exception: Division by zero: while executing 'FUNCTION divide 只能通过if子句来解决:


select
    if(cost_sum=0 or new_100_num = 0, cast(0 as Decimal(18,4)), cost_su...

exsi+openwrt安装及网卡和硬盘直通简明教程

Posted on 2020-08-10 20:48:01 | 0 comments | 2316℃ | 杂文

exsi安装最简教程,无需pe,直接写U盘使用iso引导方式安装,直通后性能提升明显,CPU占用会减少很多

安装exsi

  1. 官网https://customerconnect.vmware.com/en/web/vmware/evalcenter下载exsi,使用ultraISO 写入exsi硬盘镜像到U盘:写入方式填写USB-HDD+ v2
  2. 接入hdmi、键盘,插入u盘设置u盘启动,进入esxi安装界面
  3. exsi7.0突破120G强制硬盘限制:在5秒倒计时界面按下Shift+o,进入命令行,在原有命令(runweasel cdromBoot)后面敲入空格,并增加以下命令“autoPartitionOSDataSize=16384”(16384即16G,可以根据自己的硬盘情况调整,建议大于8G)
  4. 设置数字+大小写字母+符号的密码,安装完毕后重启...

为你的php cli脚本输出加点颜色

Posted on 2018-05-25 17:01:23 | 0 comments | 4668℃ | PHP

前言

cli脚本是很多程序员需要接触到的东西,通常们都使用echo来输出cli下面信息,但其实为了某些输出醒目,们通常可以给某些特定的输出字符串加上一点颜色,例如:

点亮cli

使用特定的颜色代码对字符串进行包裹即可,例如:

echo "\033[31m colorful \033[0m normal \n"
echo "\033[1;31m colorful \033[0m normal \n"

颜色与code

来自:http://blog.lenss.nl/2012/05/adding-colors-to-ph...

letsencrypt免费通配符证书申请

Posted on 2018-02-24 14:33:11 | 2 comments | 10110℃ | 杂文

什么是通配符证书?

通配符证书(wildcard certificate)是一个可以被多个子域使用的公钥证书,也就是说,无论是a.hisune.com,还是b.hisune.com,都可以用*.hisune.com这一张证书,而不需要针对多个域名申请多张证书。

letsencrypt是什么机构

开源免费的证书签发机构,官网:https://letsencrypt.org/

如何申请letsencrypt的免费通配符证书?

3.14更新

通配符证...

关于phalcon的模型(Model)的性能问题

Posted on 2017-08-10 16:16:49 | 1 comments | 10836℃ | PHP

前言

最近开始看phalcon的官方文档,并开始用在我的博客上。使用下来发现phalcon的模型model层非常非常难用,并且有一些性能方面的问题需要注意。

这篇文章带来phalcon的关联关系relation和分页paginator等几个性能问题及解决方案。

本文内容会在不断深入的使用过程中不定期添加。

关联关系relation

常见的错误姿势

不要在多个地方执行relation方法,而是赋值。

错误使用方法

<a href="/category/{{ post.getCategories().id }}/{{ post.getCategories().title }}">
    {{ post.getCategories().title }}
</a>

使用这种方法会导致产生3个...

关于phalcon+php7+mongodb的一些事

Posted on 2017-08-03 14:22:39 | 1 comments | 9829℃ | PHP

PHP7与mongodb

原扩展https://pecl.php.net/package/mongo仅支持php5.6及以下版本。

对于php7,官方出了一个新版本扩展:https://pecl.php.net/package/mongodb

但坑爹的是,新的mongodb扩展简直难用到屎。

所幸的是,mongo官方出了一个composer包,让一切看起来似乎没有那么糟:https://github.com/mongodb/mongo-php-library

看起来这个包的作用是为了简化[https://...

记一次mongo线上事故

Posted on 2017-07-28 10:47:33 | 0 comments | 8371℃ | Mongo

序言

有的坑始终是要踩的,有的路始终是要走的

本次分享的是在公司的一个真实线上事故,持续时长2小时,现分享出来供大家参考

线上mongodb架构

线上采用mongo副本集群的方式,总共3台机器,如下图:

  • 服务器为阿里云香港
  • mongodb版本为3.2
  • primary的priority设置为2
  • 其他secondary的priority设置为1

事故现象

PHP抛异常,连接mongo出错。首先猜测是网络原因导致php-fpm对mongo错误连接进行了缓存,在通知运维重启php-fpm后问题依旧。

登服...

UP