BeWithYou

胡搞的技术博客

PHP

PHP过滤字符串中4字节utf8字符


抓取第三方接口的时候发现有一些字段无法入库,本来以为是字段长度太大,于是加大了mysql的字段长度,发现还是不行。详细跟进到具体记录时,发现这样的记录存在特殊符号,这样的符号只有在firefox下才能看到占位。但是接口字符确实是utf8编码的,那为何会有非法字符呢? utf8是变长编码,我们常用的汉字编码是3字节,但是还存在4字节编码的特殊符号,如emoji表情等等。mysql在比较新的版本里添加了utf8mb4编码的支持,……
PHP

swoole服务中session的处理


swoole_server中对象有4层生命周期:1.程序全局期,2.进程全局期,3.会话期,4.请求期。 session的使用是在会话期,会话期的对象是常驻内存的,不需要session_start之类的操作。但是如果是这种情况,swoole的HTTP服务和普通的php-fpm放在一个环境里,使用相同的域名,利用nginx针对特定路径进行转发,就会存在session取不到的问题。 因为: swoole……
运维/工具

Redis客户端频繁断线解决


最近新开了一个项目,需要做抓取任务。不同的是本次我决定使用daemon进程的方式抓取,而不是使用以前定时任务的方式。这样就面临一个问题,如何保持Redis链接呢? 以前在daemon程序中进场遇到MySQL server gone away的情况,但是这里部门框架的ORM组件好像做了优化,不用考虑DB丢失链接的问题。但还是意料之中的遇到了Redis server gone away的情况。当然并不是程序抛出了这……
运维/工具

MySQL更新和插入时忽略duplicate


今天批量更新表数据的时候遇到有duplicate key的问题,这些都是脏数据,不用处理。那么如何让UPDATE在遇到错误时,忽略本条操作,继续往下执行呢? 我们首先看下UPDATE的语法: Single-table语法: UPDATE [LOW_PRIORITY] [IGNORE] tbl_name SET col_name1=expr1 [, col_name2=expr2 ...] [WHERE where_definition] ……
PHP

【转】phper的思维定势


看到一篇文章觉得说的很有道理,转过来一下。原文是php饭米粒公众号的推送。 php高效,快速,成为了很多互联网公司startup的首选,经历了二十多的发展,已无可争议的成为了web开发领域的王者,这是一个巨大的优势,也是php成功的基石。 但这种优势慢慢的变成了一个思维定势,php很难单独提出来,往往是跟着LAMP, LNMP一起被人提及,这成为了phper发展的一个瓶颈,非phper看phper……
数据结构/实用算法/知识

HTTP知识(3)-HTTPS


HTTP知识(3)-HTTPS HTTP是不安全的 通信使用明文,内容可能会被窃听 不验证通信方的身份,因此可能遭遇伪装 无法保证报文的完整性,因此可能会被篡改 HTTP 劫持方式 篡改HTTP响应 构造HTTP响应 3xx跳转 HTTPS = HTTP + 加密 + 认证 + 完整性保护 HTTPS是身披SSL外壳的HTTP HTTPS是“HTTP协议”和“S……
  • 上一页
  • 下一页
回到顶部