BeWithYou

胡搞的技术博客

PHP
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……
  • 上一页
  • 下一页
日期归档
文章分类
近期文章
最新评论
    最近访客
      回到顶部