自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 收藏
  • 关注

原创 编译php5.4及安装后添加扩展

今天因为研发需要php5.4 没有相应的RPM包,所以只能下载源码包编译了下载php5.4包:wget http://cn2.php.net/get/php-5.4.8.tar.gz/from/this/mirrortar zxvf php-5.4.8.tar.gzphp模块最好不要在编译的时候安装进去,以免日后升级麻烦,./configure --prefix=/usr/loc...

2014-02-25 20:30:24 718

原创 php程序性能分析工具

平常开发一些效率要求比较高的功能模块时,常常需要分析程序的运行瓶颈在哪。用下面这个工具可以很方便的查看PHP的脚本执行过程。下面是配置步骤:1. PHP安装XDEBUG,网上很多教程,下面贴上php.ini中的配置项[xdebug]zend_extension=/usr/local/php54/lib/php/extensions/no-debug-non-zts-20100525...

2014-02-20 11:40:55 452

原创 ubuntu 安装 gearman

安装过程为:1. 下载wget http://launchpad.net/gearmand/trunk/0.26/+download/gearmand-0.26.tar.gz2. 编译% tar -xvzf gearmand-0.26.tar.gz% cd gearmand% ./configure3. 安装% make% make install但是在第2步的时候发现了很多编译错误:c...

2013-10-24 16:25:43 270

原创 Nmon工具的使用以及通过nmon_analyse生成分析报表

         在我们监控我们的操作系统的时候如果可以把各个硬件的监控信息生成形象化的分析报表图对于我们来说是件太好的事情了,而通过ibm的nom和nmon_analyser两者的结合完全可以实现我们的要求。首先对nmon和nmon_analyser做一个大概介绍。        Nmon 是一个分析aix和linux性能的免费工具(其主要是ibm为自己的aix操作系统开发的,但是也可...

2013-10-15 17:10:04 732

原创 正则表达式--匹配不包含某一个字符串的方法

如下图 (((?!\.htm).)*) 为匹配不包含 .htm 为内容的字符串 

2013-09-27 19:38:57 1075

原创 nginx的PATH INFO变量

nginx不带这个参数,需要在nginx的 conf/fastcgi.conf文件中新增下面两行,前期是需要include这个文件 fastcgi_split_path_info ^(.+\.php)(/?.+)$;fastcgi_param PATH_INFO $fastcgi_path_info; ...

2013-08-12 16:28:06 158

通用跨域请求代理文件

<script type="text/javascript">document.domain = 'test.cn';var $ = {}; $.xho = function () { //创建xmlhttprequest对象 var http_request = null; if (window.XMLHttpRequest) { //Mo...

2013-06-03 10:58:34 109

原创 利用memcached做实时分页缓存

假设我们有个文章页要以分页形式显示,分页类型有按分类分页、按热点分页、按最新分页、按自定义方式分页等。这就出现了一个问题:对数据的更新影响到哪些分页是不可知的,不知道需要删除哪些相关的缓存。下文讲介绍一个简单的解决方案来处理这个问题。其实,需要解决的核心问题就一个:增加、删除、修改数据时能够让分页缓存都失效,实现这一点只需要引入版本号就可以了,在所有受影响的memcached的key中都加入版本...

2013-05-13 18:16:00 356

原创 joomla 组件开发

       joomla的三大扩展中,功能最强大的就是组件了。可以用它做一个附加于joomla的应用,它可以包含有自己的数据表,后台控制台页面,前台自有页面等等。      其中后台组件是位于 /administrator/components 中,是后台控制界面的代码位置,前台是放在 /components 中。总体结构类似,如下图所示 执行的顺序是 (组件入口文件,初...

2013-04-20 12:15:05 284

joomla静态化页面插件

      今天导入3W数据到joomla的站点,服务器瞬间崩溃啊。查了下,瓶颈在于数据库慢查询。有个帖子讲的就是我遇到的情况:http://forum.joomla.org/viewtopic.php?t=679355joomla的核心就是这么写的SQL语句,总不能去改吧(升级就麻烦了),呵,没办法,静态化所有页面吧。找了个 contentstatic 插件,但是这个只能静态化终端文...

2013-04-12 22:29:37 484

原创 制作joomla的批量导入文章组件

      近期做SEO,需要对一个joomla做的站点批量导入文章功能,做这个功能有两种方法:      一种是直接操作数据库,由于joomla的新增文章流程有点麻烦,会涉及到一个 asset 字段,这个字段值计算起来稍显麻烦,而且保存文章后会触发一些相关插件,对后续新增的注册插件很难照顾周全。      另一种则是用curl的方式提交,这种方法可以避免插件无法触发的问题。 ...

2012-12-11 15:30:09 438

原创 discuzx2.5 公告发布者链接显示不正确

不管任何人发布的公告,公告发布者的uid总是1,调试了一遍,发现这是discuzx2.5的bug,文件source\function\cache\cache_announcements_forum.php  function build_cache_announcements_forum() { $data = array();  $data = C::t('for...

2012-11-22 11:18:39 192

原创 提高coreseek的搜索精度

由于coreseek带的mmseg默认词库只有1w多个字词,搜索出来的结果准确度不是很理想。花了半天找了下搜索引擎相关的资料,现在记录下一些提高搜索精度的方法和步骤:1. 基础词库要足够丰富,因为只有基础词库丰富了,才能谈权重设置。2. 增加相关业务领域的词汇,进一步提升词库量,如果不是做综合搜索,一般都只需要提高自身业务领域的词汇。3. 记录与收集用户搜索,把搜索记录高的作为新增词汇加入到词库中...

2012-11-19 11:28:22 190

原创 smarty 缓存

smarty 缓存模板混乱问题比如在 a/list.html, b/list.html这两个都被smarty缓存了,但有时smarty会混淆这两个模板,最后还是改成a/a_list.html, b/b_list.html

2012-10-12 17:46:58 61

原创 discuzx2.5 分区 SEO设置

由于DiscuzX2.5后台没有分区的SEO设置,只能自己动手改了。要实现如下效果: 请求路径 xxx/forum-gid-2.html 实际访问 xxx/forum.php?gid=2 下面分别是针对apache及nginx的rewrite apache:RewriteRule ^forum-gid-([0-9]+)\.html$ forum.php?gid=$1...

2012-09-28 19:42:19 114

原创 sphinx,coreseek中返回的结果数

各个区别如下:num_matches: 当前返回的结果数,<= limit设置值。max_matches: 最多返回的结果数,默认为1000,用户最多只能看到1000条搜索结果。total_found: 结果总数。索引中所有满足查询条件的文档总数。total: 最多返回结果数,取值取决于max_matches值和total_found值。如果total_found数超过...

2012-09-05 16:00:08 318

原创 解决conf文件中的sql_query不能执行mysql存储过程的问题

有时候数据源比较复杂时需要用Mysql的存储过程生成数据集,才返回来给coreseek调用以生成索引,但是直接 sql_query = CALL search_proc_get_mb_tag(0, 1) 是会报 sql_query: PROCEDURE table.procedure can't return a result set in the given contex...

2012-09-03 16:58:58 148

原创 windows环境测试搜索中文命令

ECHO 人力资源PPT模板 | iconv -f gbk -t utf-8 | search -c ..\etc\csft_test_call.conf --stdin | iconv -f utf-8 -t gbk

2012-09-03 16:54:30 95

原创 PROCEDURE can’t return a result set in the given context

PROCEDURE db.procedure_name can't return a result set in the given contextOf course ‘db.procedure_name’ was the actual name of the procedure I was calling. Googling for the error seemed to indi...

2012-08-29 12:11:31 202

原创 sphinx(或coreseek)配置文件记录

## Sphinx configuration file sample## WARNING! While this sample file mentions all available options,# it contains (very) short helper descriptions only. Please refer to# doc/sphinx.html ...

2012-08-29 09:51:26 440

原创 php连接coreseek

<?php include_once 'sphinxapi.php';$s = new SphinxClient();$s->setServer("localhost", 9312);$s->SetConnectTimeout ( 1 );//设置链接超时/*$s->AddQuery();//列表查询$s->RunQ...

2012-08-29 09:48:58 185

原创 Mysql存储过程游标和SQL语句

可以用在存储过程的SQL语句主要有以下类型:1、 无返回结果语句,如:INSERT,UPDATE,DROP, DELETE等2、 select语句返回单行变量并可传给本地变量(select ..into) 3、 返回多行结果集的select语句,并可使用游标循环处理注意,存储过程返回的多行结果集,可以被客户端程序(如php)所接收,但要在一个存储过程中接收另一个存储过程的结果集是不可能的,...

2012-08-28 12:02:46 367

原创 优化 PHP 代码建议

1、如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍。2、$row[’id’] 的速度是$row[id]的7倍。3、echo 比 print 快,并且使用echo的多重参数(译注:指用逗号而不是句点)代替字符串连接,比如echo $str1,$str2。4、在执行for循环之前确定最大循环数,不要每循环一次都计算最大值,最好运用foreach代替。5、注销那些不...

2012-08-28 09:40:21 52

原创 coreseek无法索引中文

按照官方的指导完成coreseek的安装,并成功创建了索引,但是执行下面的命令时, /usr/local/coreseek/bin/search -c /usr/local/coreseek/etc/csft_moban.conf 小鱼检索出来的分词(是mmseg的)总是方块文,看了下索引的配置文件,csft.conf 原来是因为配置index时没有加入红色字体那一句 ...

2012-08-27 17:28:13 128

原创 新浪微博api调用小记

     这两天需要调用两大微博的api,下面记录下过程。     先搞新浪的,跑去看新浪微博的api文档(http://open.weibo.com),发现已经更新到版本2了,版本2使用的是oauth2授权机制,而且访问每个api资源都需要用户授权,这对于我的需求有点不符(我只要调用新浪的部分数据,如热门榜单之类的),不需要用户登陆授权。于是只得另辟蹊径,下面是方法①http...

2012-07-06 10:51:07 188

原创 程序员到底怎么了?

       程序员到底怎么了,我们当然不否认有很多出色的程序员,他们生活的好,赚的也多,可是毕竟大多数都还是一般水平,很多还是挣扎在基本满足吃住的水平。特别深的问题,比如国家社会问题(总有人会说我们的社会把我们搞成了这个样子),我这里不想谈,我来结合自己的体会来讲讲我所认识的一些程序员都在怎样工作和生活。(@程序员的那些事 微博配图)      我周围的程序员大都不喜欢程序员这个...

2012-06-09 15:00:18 90

原创 joomla放置任意文章到页面模块

     像企业站点经常会想把手动指定的文章放置到页面侧本栏目中,对于joomla来说,本身是没有这个功能的,它只有指定某个栏目的最新或推荐的文章自动显示。这个需求太常见了,想着应该有人遇到并解决过,没必要在重复造轮子,到官网翻了翻,发现个挺适合的扩展 Article Anywhere.这个扩展是个editor-xd类型的插件,会在编辑器下方增加一个插入文章按钮,而插入文章的形式是这样的: ...

2012-04-11 18:20:08 273

原创 joomla 注意事项

1. 在模块中字段定义的变量不要使用 $content,因为在 libraries/joomla/application/module/helper.php 中有 $content = '';ob_start();require $path;$module->content = ob_get_contents().$content;ob_end_clean();...

2012-03-23 17:04:34 96

原创 joomla模板的应用

    在做站时,经常会遇到同属分类级别但使用不同模板的情况。在joomla中,模板没有直接与分类或文章关联,而是与菜单关联(menu)。创建模板管理步骤: 一:在模板管理中找到需要创建的模板样式类别,复制它(因为没有直接新建),然后编辑新复制的模板,修改名字及参数,这里设置参数stype值为 aa; 二:在菜单管理中,选择需要应用新模板的菜单,编辑,在模板风格下拉框中选择刚才...

2012-03-22 15:05:04 366

原创 php魔术方法: __get() 和 __set()的妙用

 <?phpclass Post { private $title; private $content; private $author; private $comments; private $_getters = array('title', 'content', 'author', 'comments'); private $_sette...

2012-03-11 18:01:51 134

原创 joomla结构分析 - 动态加载文件(类)

很多框架都有动态加载文件这个功能,这样就不用在开头处把框架中的文件一次全部 include 进来,可以按需加载。joomla中提供了这个功能的文件是libraries/loader.php文件中开头的这句spl_autoload_register(array('JLoader', 'load'));spl_autoload_register 是php5.1.2版本以上才提供的功能,类似 __aut...

2012-03-10 17:12:43 164

原创 joomla结构分析 - 工厂模式

joomla中工厂模式的使用:文件 libraries/joomla/factory.php 是joomla的整个框架中的工厂模式使用的文件,包括ACL 权限访问DATABASE 数据库引擎选择document 文档类型等以 DATABASE 为例,本身DATABASE就是一个工厂模式,他可以是mysql,mysqli等,根据需要返回不同的数据库引擎。所以 factory....

2012-03-10 17:10:25 180

原创 linux安装 MCrypt 模块

What is MCrypt?MCrypt is a replacement for the old crypt() package and crypt(1) command, with extensions. It allows developers to use a wide range of encryption functions, without making drast...

2012-02-28 17:52:32 454

ERROR 2002: Can't connect to local MySQL server

在linux上安装Mysql后,用phpmyadmin无法连接数据库,提示ERROR 2002: Can't connect to local MySQL server错误,原来是tmp下没有sock文件,建立个软连接ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock即可。...

2012-02-28 17:52:11 141

原创 Windows下安装PEAR, PHPUnit成功

环境要求:Windows + APMServ5.2.6/PHP5以上安装步骤:1、Windows的开始 -> 运行 ->cmd2、安装命令d:cd D:\APMServ5.2.6\PHPD:\APMServ5.2.6\PHP>go-pear.bat Are you installing a system-wide PEAR or a local c...

2012-01-05 16:13:01 159

原创 识别验证码方法

验证码的功能一般是防止使用程序恶意注册、暴力破解或批量发帖而设置的。所谓验证码,就是将一串随机产生的数字或符号,生成一幅图片,图片里加上一些干扰象素(防止OCR),由用户肉眼识别其中的验证码信息,输入表单提交网站验证,验证成功后才能使用某项功能。学习验证码的破解/识别技术,不仅可以知道验证码的原理,而且可以让你知道怎样才能防止验证码被破解。最常见的验证码主要有以下几种:四位数字,随机的一...

2011-12-30 14:41:22 681

discuz防灌水机制

    最近论坛频遭灌水机灌水,在不影响用户体验的情况下,需设计一个防灌水机制。以下是本人的方法,能有效防止相当一部分灌水。1. 由于discuz自带的验证码已被破解,最好另外弄个验证码类,验证码最好是扭曲字体,而且字母与字母间最好能镶嵌,同时有随机连线把字符连起来(曲线和字符都是同种颜色的),这样会大大增加破解验证码的难度; 2. 设置关键字过滤(此法会影响发帖速度,注意); ...

2011-12-23 14:49:30 403

用python写的joomla模块生成器

     用到joomla做东西,但是每次新建模块都得以导入的方式才行(直接在数据表module中新增记录和新建module文件夹的方法在 1.7 版本上不灵)。于是用python写了个生成模块的小程序,这样直接输入模块名就可以生成一个模块zip包,再把zip包导入joomla后台就OK了。暂时只是生成 module ,以后有需要再做兼容 component 和 plugin 的吧。由于有些机器上...

2011-12-23 14:13:24 155

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除