Memcache for Windows 安装与应用(2 位领导批示)

最近做的一个项目中有一个分类树的页面.因为运用了Ajax异步读取数据(每onclick一下就会请求一下数据库进行查询-_-!!).数据库服务器明显的负载加大.

运维部的同事建议我使用Memcache对数据进行布式内存缓存.

1.下载Memcache for win32

下载地址: http://jehiah.cz/projects/memcached-win32/

2.下载php_memcache.dll

下载地址: http://pecl4win.php.net/ext.php/php_memcache.dll
Note:注意你安装的PHP版本来下载相应的dll文件.(我装的是5.2X版本).

3.修改php.ini文件

在 ;Windows Extensions 处加一句


; Memcache extension
extension=php_memcache.dll

全文阅读 »

MySql存储引擎 InnoDB 与 MyISAM的区别(0 位领导批示)

上周服务器出了点问题..需要数据恢复.我所做的几个小东东的数据存储引擎因为使用了默认的innoDB存储引擎..产生不小的麻烦..囧…

首先看看我的MySql哪些存储引擎可用:

用show engines 语句


mysql> show engines;
+------------+---------+----------------------------------------------------------------+
| Engine | Support | Comment |
+------------+---------+----------------------------------------------------------------+
| MyISAM | YES | Default engine as of MySQL 3.23 with great performance |
| MEMORY | YES | Hash based, stored in memory, useful for temporary tables |
| InnoDB | DEFAULT | Supports transactions, row-level locking, and foreign keys |
| BerkeleyDB | NO | Supports transactions and page-level locking |
| BLACKHOLE | YES | /dev/null storage engine (anything you write to it disappears) |
| EXAMPLE | NO | Example storage engine |
| ARCHIVE | YES | Archive storage engine |
| CSV | NO | CSV storage engine |
| ndbcluster | NO | Clustered, fault-tolerant, memory-based tables |
| FEDERATED | YES | Federated MySQL storage engine |
| MRG_MYISAM | YES | Collection of identical MyISAM tables |
| ISAM | NO | Obsolete storage engine |
+------------+---------+----------------------------------------------------------------+
12 rows in set

全文阅读 »

PHP debug三个常用方法(备忘)(0 位领导批示)

一.ReflectionFunction

能打印出一个函数信息

使用方法:

1
2
3
4
function silver() {
    echo 'silver';
}
Reflection::export(new ReflectionFunction('silver'));

 

二.get_defined_functions

这个函数返回一个数组..数组中包含所有已经定义的函数(包括PHP内部函数,所以要慎用).

全文阅读 »

在字符串中连续出现的字符替换为单一字符(2 位领导批示)

如字符串 aaaabbbccccddddeeeefff

一位同学的写法:

  1. <?php
  2. $original_string = 'aaaabbbccccddddeeeefff';
  3. $splited_arr = str_split( $original_string );
  4. $unique_arr = array_unique( $splited_arr );
  5. $final_string = "";
  6. foreach ($unique_arr as $unique_str)
  7. {
  8.   $final_string .= $unique_str;
  9. }
  10. echo $final_string;
  11. ?>

 

我用正则替换:

  1. <?php
  2. $str = 'aaaabbbccccddddeeeefff';
  3. echo preg_replace("/(.)\\1+/", "\\1", $str);
  4. ?>

 

NOTE:如果字符中有中文.只能使用第一种方法.

不堪垃圾评论.新增图形验证码插件 wp-imgcode(2 位领导批示)

插件下载地址:http://blog.chweng.idv.tw/wordpress/wp-imgcode-mod/

安装并进入后台启用插件

修改模板 comments.php

1
2
3
4
5
6
7
8
9
10
11
12
<!--<p><textarea name="comment" id="comment" cols="60%" rows="10" tabindex="4"></textarea></p>
<p><input name="submit" class="s" type="submit" id="submit"  tabindex="5" value="发表留言" />
<input type="hidden" name="comment_post_ID" value="<?php echo $id; ?>" />
</p>
<?php do_action('comment_form', $post->ID); ?>-->
 
 
<p><textarea name='comment' id='comment' cols='60%' rows='10' tabindex='5'></textarea></p>
<?php do_action('comment_form', $post->ID); ?>
<p><input name='submit' type='submit' class="s" id='submit' tabindex='5' value='发表留言' />
<input type='hidden' name='comment_post_ID' value='<?php echo $id; ?>' />
</p>

NOTE:注释部分为原有的模板部分

全文阅读 »

设置cookie当天内有效(0 位领导批示)

经典论坛上一位朋友的问题

我的解决方法


<?php
//设置默认时区
date_default_timezone_set('Etc/GMT-8');
//得到明天0点时的unix时间戳
$nonce_time = strtotime(date('Ymd')+1);
//相减得到过期所剩的时间
$expire_time = $nonce_time - time();
//echo $expire_time;
setcookie('test', '当天有效,到7月4号就失效哦!', $expire_time);
?>

DEDECMS5.1 Tag首页文章分类显示(2 位领导批示)

dedecms 在5.x版本新增加的 tag 标签.

在首页使用时只有row,sort与InnerText三个参数.而不能像arclist等标签一样可以用typeid参数按文章分类显示.

自己动手.修改了一下

打开 include/inc_arcpart_view.php 文件

首先找到第 222 行

1
2
3
4
5
6
}else if($tagname=="tag"){
    //自定义宏标签
    if(empty($typeid)) $typeid = $envTypeid;
    $this->dtp->Assign($tagid,
    $this->GetTags($ctag->GetAtt("row"),$ctag->GetAtt("sort"),$ctag->GetInnerText())
);

修改为:

1
2
3
4
5
6
7
}else if($tagname=="tag"){
    //自定义宏标签
    $typeid = trim($ctag->GetAtt("typeid"));
    if(empty($typeid)) $typeid = $envTypeid;
    $this->dtp->Assign($tagid,
    $this->GetTags($ctag->GetAtt("row"),$ctag->GetAtt("sort"),$ctag->GetInnerText(),$typeid)
);

全文阅读 »

Tags : , ,

(备忘)MySQL实用命令(0 位领导批示)

一 连接MYSQL:

格式: mysql -h主机地址 -u用户名 -p用户密码

1、例1:连接到本机上的MYSQL

首先在打开DOS窗口,然后进入mysql安装目录下的bin目录下,例如: D:\mysql\bin,再键入命令mysql -uroot -p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是:mysql>

2、例2:连接到远程主机上的MYSQL

假设远程主机的IP为:10.0.0.1,用户名为root,密码为123。则键入以下命令:
mysql -h10.0.0.1 -uroot -p123
(注:u与root可以不用加空格,其它也一样)

3、退出MYSQL命令

exit (回车)

全文阅读 »

date函数格式化UNIX时间戳时差问题的解决方法(2 位领导批示)

插入数据库里的时间格式是unix时间戳

当再用date函数格式化unix时间戳时发现是格林尼治的时间


$nowtime = time();
$mtime = date('Y-m-d H:i:s',$nowtime);

echo $mtime;

解决方法:

在使用date函数之前先设置默认时区


date_default_timezone_set('Etc/GMT-8');

OK..现在输出的就是东八区的时间了..

Zend Studio 常用快捷键(2 位领导批示)

原文地址 http://www.zendstudio.net/component/ZendStudio-Shortcuts/

编辑功能

Ctrl + / 单行注释
Ctrl + Shift + / 块注释
Ctrl + U 选择的代码片段全部转换为大写
Ctrl + L 选择的代码片段全部转换为小写
Ctrl + D 复制光标所在行
Ctrl + E 删除光标所在行
Tab 增加代码缩进
Shift + Tab 减少缩进
Ctrl + Alt+ F 在文件中查找
Ctrl + BackSpace 删除光标前一个单词或一个符号
Ctrl + G 转到行
Alt + → 定位到光标的下一个位置
Alt + ← 定位到光标的上一个位置

环境切换

Esc 隐藏辅助窗口
Ctrl + W 切换自动换行
Ctrl + Tab 在各个编辑器标签页之间切换
Ctrl + F4 关闭当前标签页
Alt + F4 关闭ZDE

全文阅读 »

随机显示的10篇日志

评论最多的10篇日志

浏览最多的10篇日志