RJ博客

从CSV文件乱码解决到字符编码详解

从CSV文件乱码解决到字符编码详解
在Mac下韩文是乱码的, 如果我不转换编码,直接导出内容,在Mac下是正常的,但是到Windows下导出,就是乱码的。要解决PHP生成CSV文件的乱码问题,只需要在文件的开始输出BOM头,告诉系统CSV文件的编码方式,从而让Excel打开CSV时采用正确的编码。下面列举两种方法:
2019年06月22日 157 views 1评论

PHPStorm+Xdebug调试本地PHP脚本

PHPStorm+Xdebug调试本地PHP脚本
有时候想直接调试PHP脚本,而不是Web代码,如果再通过Web访问这个脚本调试,有点多余了,有方法可以直接调试PHP脚本的。Windows下,如果采用phpStudy自带Xdebug插件, 所以直接在php.ini文件的末尾处追加如下代码即可。Mac下,要点,MAMP Pro 和MAMP识别的php.ini路径不一致,通过MAMP Pro编辑的php.ini文件为: /Users/rj/Library/Application Support/appsolute/MAMP PRO/templates/php
2019年06月22日 178 views 1评论

从PHP接收接收二进制图片,延伸至文本文件和二进制文件异同

从PHP接收接收二进制图片,延伸至文本文件和二进制文件异同
#背景: 以前知道有一种把二进制图片数据直接保存到数据库的做法,不过一直没实际操作 过,直到在对接广告Marketing API传输图片原数据要用到,才去深入地了解了一下。除了用fread(),直接用file_get_contents()也可以获取到二进制数据。 以上是把接收到的二进制图片转换成图片文件保存起来,也可以把二进制数据存入 数据库,mysql数据库中BLOB是一个二进制对象,能容纳不同大小的数据。
2019年06月19日 193 views 1评论

npm+webpack 从0编写一个npm module(转)

npm+webpack 从0编写一个npm module(转)
我们知道,每个项目其实都有很多共同的代码可以复用。复制粘贴这种重复劳动当然每个人都很讨厌,而且还有操作失误的情况。因此,往往,比如常用函数封装、正则、组件等,都可以做成npm module发布到npm上,方便所有的项目使用。
2019年06月10日 198 views 1评论

Redis内存分析(大key排查)

Redis内存分析(大key排查)
背景 线上Redis遇到一个问题,就是内存无限缓慢增长,2个G的内存几个小时就快被吃完了,因此需要查看Redis实例中数据的内存分布情况。为了不影响线上实例的使用,采用bgsave生成dump.rdb文件,再结合redis-rdb-tools进行静态分析。
2019年02月10日 265 views 1评论

python动态页面爬虫(二) - Selenium+Chrome

python动态页面爬虫(二) - Selenium+Chrome
最近在使用Selenium+PhantomJS动态抓取网页时,发现了Selenium已经放弃PhantomJS的警告,具体警告内容如下: UserWarning: Selenium support for PhantomJS has been deprecated, please use headless versions of Chrome or Firefox instead warnings.warn('Selenium support for PhantomJS has been deprec
2019年02月01日 310 views 1评论

Mysql 慢查询 全表扫描 文本索引排查方案

Mysql 慢查询 全表扫描 文本索引排查方案
最近在做MySQL的全表扫描、慢查询、文本索引优化,需要抓取到线上执行的sql进行判断,由于项目代码过多,直接从代码排查难度有点大,于是借助了MySQL命令 查看哪些线程正在运行(只能抓取正在运行的语句) show processlist; SHOW PROCESSLIST显示哪些线程正在运行,如果您有SUPER权限,您可以看到所有线程,否则,您只能看到您自己的线程。
2019年01月10日 246 views 1评论

PHP-FPM内存优化

PHP-FPM内存优化
服务器运行一段时间后,发现内存占用不断增长,通过top命名(输入命名后按m键可按进程占用内存大小的排序)查看,发现大部分内存都被 php-fpm 占用,网上查了一下,大概的意思是说,处理每个php请求完成后,php-fpm会回收内存,但不会释放给操作系统,从而导致大量的内存被php-fpm占用。 实测的话如果页面能正常执行完,内存是能释放的,而页面因内存超限而报错的时候,内存是没有释放给操作系统的。
2018年10月01日 233 views 1评论