`
flex_莫冲
  • 浏览: 1091816 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论
文章列表
最近遇到一个问题,一个ajax请求会调用已存在的session,再依据session做一些处理。发现session有时候有生效有时候没生效。 session是保存到db的,所以不存在访问不同服务器导致session不一致的问题。 页面使用了varnish,一开始以为是varnish 缓存了页面,导致请求没有执行到php,而是使用了http缓存。后来清除了varnish,依然有这个问题。 我又清理了下请求的页面,发现页面的header的简繁体链接用的是html后缀,这个可能是缓存HTML,导致点了这个header的link生成的页面实际上并不会生成session。而这个缓存页面的ajax自然也 ...
TP5作了很大的改变,更加灵活,没那么臃肿了,加入了一些令人振奋的功能,例如php7,unittest等,但是很多TP3下养成的习惯,在tp5可能要改改了。 1 路由的变化 tp3中定义路由 'URL_ROUTE_RULES' => array( //定义路由规则 '/^password(\/)*$/' => '/Admin/Auth/password', ), 这样用http://xx.com/password 和http://xx.com/Admin/Auth/password 都可以访问到同一个地址http://xx.com/Ad ...
消息推送ios用了apns,android用的是gcm。推送失败都会返回无效的token,但是无效的tokne中,能不能区分到哪些是禁止通知,哪些是卸载app导致的呢? 1 APNS PHP 的推送返回错误处理 Push.php if (!empty($aMessage['ERRORS'])) { foreach($aMessage['ERRORS'] as $aError) { if ($aError['statusCode'] == 0) { $this->_log("INFO: Message ID {$k} {$sCusto ...
为了跑个yaf的crontab,执行时报错: PHP Fatal error:  Class 'Yaf_Application' not found 由于yaf的命令行模式下加载的php.ini跟website模式下是不同的,需要检查该php.ini有无加载yaf。 执行 php -m 查看有无yaf,如果没有就添加上。ubuntu下cli php.ini路径是/etc/php5/cli 加上 [yaf] yaf.environ = dev yaf.library = NULL yaf.cache_config = 0 yaf.name_suffix = 1 yaf.name_ ...
推送内容如果包含了emoji表情,需要做以下修改 1 mysql 要用5.5.3以上版本(如果不能升级,请用base64保存,推送时再转码) 2 将表和推送内容表字段修改成utf8mb4_unicode_ci编码格式(不需要改系统的my.cnf,也不需要重启mysql) 如果用了apnsphp来推送,可能依然会出现发送emoji表情变成?的问题: 请找到Message.php的getPayload方法,在convert转码判断上加上"false &&"禁止执行。因为这段代码会将部分emoji表情截断。 $sJSON = json_encode($th ...
参考: http://www.runoob.com/mongodb/mongodb-window-install.html mongodb 常用命令: http://www.cnblogs.com/zhongweiv/p/node_mongodb.html#mongodb_learn 因为很少用mongodb,经常会忘记命令。所以在这里做个记录。 cmd入到mongodb安装目录,如: C:\Program Files\MongoDB\Server\3.2\bin 启动命令, mongod.exe --dbpath c:\data\db 可视化工具现在用的是mongobooster,挺 ...
website: https://www.froala.com/wysiwyg-editor 比ueditor好用。少bug。table可以调整宽度高度。 ueditor也不错,但是在chrome和ff上的表现差异比较大,例如table的宽度在ff下比较小,在chrome下比较大,还没法调整的。更大的bug是,换行时光标错误导致换行时光标会向前移动一个光标位,导致换行错误,这个bug还不是每次都出现,偶尔会有。ff和chrome都有可能出现。 最后用了froala editor,但是这个是要收费的。价值799$,还挺强大的,破解这个编辑器,主文件js压缩过的,从几千行js代码中审计,找到了验 ...
http://www.cnblogs.com/aicro/p/3851434.html 结论: 切割成每次插入10条是性能比较好的方式

mysql 主从设置

参考: http://blog.miniasp.com/post/2012/07/04/How-to-setup-MySQL-55-One-way-replication-Master-Slave-mode.aspx http://fghjk.blog.51cto.com/4359709/830794 http://dev.mysql.com/doc/refman/5.5/en/mysqldump.html http://blog.csdn.net/hguisu/article/details/7325124 http://coding.memory-forest.com/%E5%BB% ...
redis 的keys可以根据正则获取匹配的keys,例如查找某一类型的sql,如下面查找表名下的show类型的keys keys db:table:[a-zA-Z_/d]*:show:* 也可以根据查询结构删除: redis-cli --raw keys "$PATTERN" | xargs redis-cli del 移动 redis-cli --raw keys "$PATTERN" | xargs -L1 -I{} redis-cli move {} 1 先删除db0,再将db1的全部数据移动到db0 $ select 0 $ red ...
当访问yafpublic 目录下的某个静态资源时,依然会访问yaf application框架,会调用到默认Controller的errorAction。 获取到的url路径是http://xxx/favicon.ico 这是因为浏览器默认会访问favicon.ico资源,而这个资源如果不存在的话就会执行yaf。 解决办法:放入一张favicon.ico图片。
预加载图片的插件 /* * jQuery Rawr Sliding Container (RSC) v1.0 * Website: http://hungred.com * Demo Site: http://hungred.com/wp-content/demo/RSC/demo-RSC.html * Description: A simple sliding container that can be useful for you. * Contact: clay@hungred.com * version 1.0 * * TERMS OF USE - ...
要实现可以自动在线协同编辑文本的功能。就类似google docs差不多。可以不实时,允许一定时间内的延迟。当然,延迟也是比较难处理的,比如2个用户A和B,原始文本是abc,A删除了c,B由于延迟没看到,他删除了b。那么A看到的是ab,B看到的是ac,过了延迟时间后,AB看到的内容是一样的,都是a。延迟会导致他们的编辑产生误操作。 一个比较简单的实现是加锁,当A用户编辑时,B用户不允许编辑。但是如果A打开了不退出,B永远都编辑不了。要有个退出机制。 A编辑了,通知B, 提示: 提示是否更改文本内容?Yes->获取最新编辑内容更新,No->保留 不提示:缺点:可能丢失B正在编辑的内 ...
在php开发过程中,安装的apache的默认目录是在/var/www/,这个目录下有时会有用户权限,比如使用php上传文件到项目目录下时会有权限,这样就不能对所上传的文件进行修改,此时可以通过修改apache2的网站默认目录,这样就避免了上述出现的问题。 更改过程比较简单,只需要对apache2的配置文件进行修改就可以了 sudo gedit /etc/apache2/sites-enabled/000-default 在文档中找到DocumentRoot这个字段,在后面修改你要放置网页文件的目录,然后保存,然后重启apache服务: sudo service apache2 restart ...
sudo service apache2 restart 报错 * Restarting web server apache2                                                (98)Address already in use: AH00072: make_sock: could not bind to address [::]:80 (98)Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:80 no listening sockets a ...
Global site tag (gtag.js) - Google Analytics