VirtualBox 网络配置

NAT联网及端口转发

如下图将本机的2222端口映射到虚拟机的22端口为例: NAT联网及端口映射 进入虚拟机设置选择:Network -> NAT -> Port Forwarding. Name: 可以随意起名字 Host Port: 主机的端口,只要是没有被占用的端口都可以 Guest Port: 虚拟机端口

Read More →

使用 XHProf 分析你的 PHP 程序

简介

XHProf是一个轻量级PHP性能分析工具,类似 xdebug,但比 xdebug 分析的信息更加详细, 包括函数的调用次数,花费的时间(自身花费时间和包含内部函数花费的时间),所占内存/CPU,所占内存的峰值及所占百分比, 为什么用的是呢,因为源码包中 xhprof_lib/display/xhprof.php 文件里还有一个 Incl. User (microsecs)Incl. Sys (microsec) 没有在结果中显示,有兴趣的同学可以研究研究。

Read More →

使用 Xdebug + Webgrind 分析 PHP 程序

安装 xdeubg zend 扩展

# yum install php-pecl-xdebug

配置 php.d/xdebug.ini

# vi /etc/php.d/xdebug.ini
; 加入以下内容
; profiler
xdebug.profiler_enable=1
xdebug.profiler_enable_trigger=1
xdebug.profiler_output_dir=/tmp/xdebug
xdebug.profiler_output_name=cachegrind.out.%p

; trace
xdebug.auto_trace=1
xdebug.show_exception_trace=1
xdebug.trace_output_dir=/tmp/xdebug
xdebug.trace_output_name=trace.%c
Read More →

VIM+DBGp+Xdebug调试PHP程序

Xdebug 简介

Xdebug 是一个开源的 PHP 程序调试器,可以用来跟踪,调试和分析 PHP 程序的运行状况。 本文只做跟踪调试,分析 PHP 程序的运行状况,请看 使用 Xdebug + Webgrind 分析 PHP 程序

安装 xdeubg zend 扩展

# yum install php-pecl-xdebug
Read More →

VIM使用中文帮助

安装

$ wget http://sourceforge.net/projects/vimcdoc/files/latest/download?source=files -O vimcdoc.tar.gz
$ tar zxf vimcdoc.tar.gz
$ mv vimcdoc-1.8.0/doc/ ~/.vim

配置 vimrc

$ vi ~/.vimrc
" 添加以下内容
" vim 内部编码,buffer (缓冲区)、菜单文本(gvim)、消息文本等
set encoding=utf-8
" 当前编辑的文件的编码
set fileencoding=utf-8
" 显示中文帮助
set helplang=cn
Read More →

PHP代码优化技巧

基本

1. 使用单引号代替双引号(在含有变量的情况下)
    echo "string";
    echo 'string ' . $var;

2. 数组下标加引号
    $arr['key']
    $arr[$key]

3. 使用 $i += 2 代替 $i = $i + 2

4. 使用 ++$i 代替 $i++ (仅适用于PHP)

5. 尽量避免使用 continue(可以通过适当的构造)

6. 避免在 for 循环条件语句中使用函数
    for ($i = 0, $len = strlen($str); $i < $len; ++$i) {
        // 尽量避免在循环内部声明变量,尤其是大变量:对象/数组
        // do something
    }

7. 数组循环使用 foreach 代替 for
    foreach ($user_list as $user) {
        // 避免在循环内部执行 SQL 语句,mysqli_query('...')
        // do something
    }

8. 使用 include/require 代替 include_once/require_once

9. 在 include/require 中使用绝对路径
    define('BASEPATH', dirname(__FILE__));
    include BASEPATH . '/path/to/file.php';

10. 使用三目运算代替 if else

11.使用 switch case 代替 if elseif ... else

12.尽量避免使用错误控制运算符"@"(错误是用来解决的,不是用来忽略的)

13.避免多层嵌套

14.不要没有原因的复制一个变量(如:变量只用一次。如果是作为函数N多参数的一员,可以换行)

15.尽可能使用局部变量代替全局变量和对象属性(变量先声明后使用)

16.适当的使用大变量和全局变量,用完 unset 掉

17.使用 NULL === 代替 is_null

18.尽量使用 === 代替 ==
Read More →

VIM速查表

前言

本文翻译自:http://bencrowder.net/files/vim-fu/,参考了VIM中文帮助、 Google翻译结果和实际操作结果,对原文的部分内容重新整理,删除和添加了 部分内容并加入了一些技巧。如有翻译不当或在实际操作中出现的任何问题都可以 在文章后回复。注:

Read More →

VIM+ctags/cscope/taglist代码结构查看

目录结构

$ tree -C ~/.vim | grep -v ".cnx"

|-- doc
|   |-- taglist.cnx
|-- plugin
    |-- taglist.vim

1. ctags/cscope

ctags 用于生成 tags,cscope 用于查询变量及函数的定义位置。

Read More →

PHP 安装 Markdown 扩展

系统环境:

  • CentOS 6.4 x86_64

使用 phpize 安装

如果你没有使用过 phpize,请参考 使用 phpize 安装 PHP 扩展

首先到 PECL 扩展库 下载 Markdown 源码包:

Read More →

VIM中PHP代码使用tab键自动完成

目录结构

$ tree -C ~/.vim | grep -v ".cnx"

|-- dict
|   |-- php.dict
|-- syntax
    |-- php.vim 

1. PHP5.4语法文件

$ cd ~/.vim/syntax/
$ wget https://raw.github.com/ueaner/tools/master/vim/syntax/php.vim
Read More →