解决微信公众平台用户无状态问题    

作者:SNSGOU 发布于:2015-08-02 21:35:11  分类:手机/微信开发   浏览(20) 

由于公众平台的特殊形式,用户的消息是通过腾讯服务器直接POST的过来的,服务器是不带Cookie过来的,所以当你想用平时直接设置CookieSession是不行的,Cookie是彻底没戏,Session的问题是 服务器每次过来不带session_id,所有我们也无话读取session文件,解决的办法就是吧用户Post过来的微信名当做sessionid,微信号(openid)是一个唯一不重复的,这样每个用户的状态是可以独立的。

阅读全文>>

【荐】PHP Session和Cookie,Session阻塞,Session垃圾回收,Redis共享Session,不推荐Memcached保存Session    

作者:SNSGOU 发布于:2015-08-02 12:09:46  分类:PHP   浏览(59) 

什么是 Session

在 web 应用开发中,Session 被称为会话。主要被用于保存某个访问者的数据。

由于 HTTP 无状态的特点,服务端是不会记住客户端的,对服务端来说,每一个请求都是全新的。

既然如此,那么服务端怎么知道是哪个访问者在请求它呢?又如何将不同的数据对应上正确的访问者?答案是,给访问者一个唯一获取 Session 中数据的身份标示。

阅读全文>>

JS删除数组中某一项或几项的方法汇总    

作者:SNSGOU 发布于:2015-07-24 11:30:40  分类:JS/jQuery/Seajs   浏览(124) 

1、JS中的splice方法

splice(index, len, [item])    //注意:该方法会改变原始数组。

splice有3个参数,它也可以用来替换/删除/添加数组内某一个或者几个值。

index:数组开始下标;

len:替换/删除的长度;

item:替换的值,删除操作的话 item为空;

阅读全文>>

解决百度 ueditor v1.4.3 编辑器上传图片失真的bug?    

作者:SNSGOU 发布于:2015-07-17 21:27:06  分类:HTML/CSS   浏览(147) 

项目中,用到百度ueditor编辑器,发现,上传大一点的图片,图片会失真,刚开始还以为是PHP端做了图片压缩,仔细看配置说明,发现是编辑器自带有个自动压缩图片的功能,可恶的是,压缩后的图片失真了!

决定去掉这个压缩功能,如果非得要压缩,那就交给服务端PHP来处理吧!

找到配置文件:ueditor/php/config.json

把 imageCompressEnable 设置为 false 即可!

阅读全文>>

如何使用PDO查询Mysql来避免SQL注入风险?ThinkPHP 3.1中的SQL注入漏洞分析!    

作者:SNSGOU 发布于:2015-07-09 15:53:34  分类:PHP   浏览(257) 

当我们使用传统的 mysql_connect 、mysql_query方法来连接查询数据库时,如果过滤不严,就有SQL注入风险,导致网站被攻击,失去控制。虽然可以用mysql_real_escape_string()函数过滤用户提交的值,但是也有缺陷。而使用PHP的PDO扩展的 prepare 方法,就可以避免 sql injection 风险。

阅读全文>>

大规模请求下,Linux 服务器连接数优化设置    

作者:SNSGOU 发布于:2015-07-09 12:48:48  分类:压力/性能测试   浏览(213) 

一般一个大规模Linux服务器请求数可能是几十万上百万的情况,需要足够的连接数来使用,所以务必进行相应的设置。

默认的Linux服务器文件描述符等打开最大是1024,用 ulimit -a 查看:

[viewuser@~]$ ulimit -a
core file size          (blocks, -c) 0   #coredump 文件大小
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 255622
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024   #打开文件数量,root账户无限制
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 4096   #root用户本项是无限
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

如果超过了连接数量,可以在 /var/log/message 里面看到类似:

May 14 16:13:52 hostname kernel: nf_conntrack: table full, dropping packet

的信息,基本可以判定是fd不够用引起的。(服务器受到攻击也会有这个信息)

阅读全文>>

解决ThinkPHP3.2.3框架,PDO驱动类“抛出异常”不起作用的bug    

作者:SNSGOU 发布于:2015-07-08 23:20:48  分类:开源系统/DiscuzX   浏览(172) 

项目中引进了ThinkPHP3.2.3的模型层,发现当SQL语句出错时,系统抛出的异常不是我想要的效果,打开文件 ThinkPHP\Library\Think\Db\Driver.class.php

找到代码:

$result = $this->PDOStatement->execute(); 

当上述PDO语句有异常时(如 SQL语句中数据表不存在),此处就会直接抛出PHP异常,后面的代码不会被执行,页面被中断,这不是我们想要的结果;

阅读全文>>

PHP中PDO错误/异常(PDOException)处理    

作者:SNSGOU 发布于:2015-07-08 22:04:38  分类:PHP   浏览(111) 

PDO 提供了三种不同的错误处理模式,以满足不同风格的应用开发:

PDO::ERRMODE_SILENT

此为默认模式。 PDO 将只简单地设置错误码,可使用 PDO::errorCode() 和 PDO::errorInfo() 方法来检查语句和数据库对象。如果错误是由于对语句对象的调用而产生的,那么可以调用那个对象的 PDOStatement::errorCode() 或PDOStatement::errorInfo() 方法。如果错误是由于调用数据库对象而产生的,那么可以在数据库对象上调用上述两个方法。

阅读全文>>

解决 华为手机 WiFi经常掉线的问题    

作者:SNSGOU 发布于:2015-07-08 20:41:19  分类:电脑/软件使用   浏览(124) 

设置 -> WLAN -> 右下角菜单“高级” -> 高级 WLAN 设置 -> 去掉勾选“WLAN优化

阅读全文>>

最新Clion、PhpStorm、Idea等Jetbrains产品的破解版/注册机下载    

作者:SNSGOU 发布于:2015-07-07 12:40:40  分类:电脑/软件使用   浏览(544) 

PhpStorm是我最喜欢的PHP开发工具,也偶尔用下Clion,Idea 等Jetbrains其他产品,但问题来了,需要注册码,如何破解?

好在,有高手已经研究出破解的方法,并将代码开源公布在Github上,破解过程如下:

1、安装Java运行环境(注意:至少 Java 7),安装过程自己百度一下;

2、下载项目/工具 https://github.com/rover12421/JetbrainsPatchKeygen 到本地,解压;

阅读全文>>

Copyright©2015|PHP博客|PHP学习笔记|PHP开发笔记|Linux运维|服务器架构|SNSGOU| 粤ICP备12002821号| sitemap |