Linux
文章平均质量分 50
上帝禁区
学习能力强,解决实际问题能力突出
展开
-
PHP扩展实现的简单MVC框架
公司项目中WEB项目几乎都是使用codeigniter框架,为了降低PHP的单次执行请求时间、减低服务器处理响应时间,同时提高每分钟应答的总数,开发这个扩展的目的是将Router、Template、Config、Controller等框架提高的基础通用功能由底层实现,PHP脚本仅处理业务逻辑,发挥各自的优势。考虑到项目迁移的成本,所以此扩展的MVC也是基于CI原型来设计的,同时原创 2014-04-10 18:45:26 · 7809 阅读 · 0 评论 -
分析apache的日志,查找异常访问IP
tail -n 100000 access.log | grep .php | awk -F " " '{print $1 $7}' | sort |uniq -c | sort -rnawk -F" " '{print $1}' #用空格分隔,打印第一列数据sort|uniq -c # 排序并过滤重复,-c 输出重复次数sort –rn # 按-n数字进行-r反向原创 2011-11-11 17:28:59 · 1821 阅读 · 0 评论 -
SVN客户端命令行
1、将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/domain 简写:svn co 2、往版本库中添加新的文件 svn add file 例如:svn add test.php(添加test.php) svn add *.php(添加当前目录下转载 2011-11-10 10:45:06 · 6716 阅读 · 0 评论 -
Linux后台执行程序
shell command >/dev/null 2>&1 &最后一个符号&,意思是让程序在后台运行。>/dev/null 的作用是将标准输入转向null,这样就忽略当前的脚本标准输出。2>&1 的作用是将标准错误连接至标准输出,也将被忽略。一直不明白1、2的作用。原来!操作系统默认指定3个文件代码:0标准输入、1标准输出、2标准错误,这三个文件在建立shell环境时已原创 2011-10-27 22:26:47 · 1659 阅读 · 0 评论 -
Eclipse Shell for Plugin
Eclipse有一款ShellEd组件,能够帮助快速开发Shell。下面是安装步骤。1.安装ShellEd依赖组件man-page viewer plug-in选择Help > Install New Software...->work with中输入:http://download.eclipse.org/technology/linuxtools/update->直接回原创 2011-10-20 21:36:28 · 9012 阅读 · 1 评论 -
VIM配置参数
set nocompatible "去掉讨厌的有关vi一致性模式,避免以前版本的一些bug和局限 set number "显示行号 set autoindent "vim使用自动对起,也就是把当前行的对起格式应用到下一行; set smartindent "依据原创 2010-12-23 20:35:00 · 2181 阅读 · 0 评论 -
crontab格式
基本格式 : #m h dom mon dow command* * * * * command分 时 日 月 周 命令第1列表示分钟1~59 每分钟用*或者 */1表示第2列表示小时1~23(0表示0点)原创 2011-09-13 15:55:07 · 1231 阅读 · 0 评论 -
Linux命令行下的常用快捷键
Linux命令行下的常用快捷键原创 2011-05-30 21:46:00 · 1037 阅读 · 0 评论 -
Vim键盘命令分布图
<br />原创 2011-05-19 18:04:00 · 1485 阅读 · 0 评论 -
PHP源码分析-HashTable API
一、创建HashTableint zend_hash_init( HashTable *ht,//指向一个HashTable uint nSize,//nSize是指这个HashTable可以拥有的元素的最大数量。在我们添加新的元素时,这个值会根据情况决定是否自动增长,这个值永远都是2的次方,如果你给它的值不是一个2的次方 //的形式,那它将自动调整成大于它的最小的2的次方值。它原创 2011-12-17 17:43:17 · 5059 阅读 · 0 评论 -
PHP源码分析-数组
PHP中经常使用数组,使用数组最大的好处便是速度!读写都可以在O(1)内完成,因为它每个元素的大小都是一致的,只要知道下标,便可以瞬间计算出其对应的元素在内存中的位置,从而直接取出或者写入。那么内核中是如何实现的呢?PHP大部分功能,都是通过HashTable来实现,其中就包括数组。HashTable即具有双向链表的优点,同时具有能与数据匹敌的操作性能。PHP中的定义的变量保存在一个符原创 2011-12-15 13:53:15 · 7945 阅读 · 0 评论 -
Redis C客户端API
Redis安装步骤:1.redis server安装wget http://redis.googlecode.com/files/redis-2.4.6.tar.gz #下载文件tar xzf redis-2.4.6.tar.gzcd redis-2.4.6makecp src/redis-server src/redis-cli /usr/bin/ #方便在终端在任何地方原创 2012-01-15 23:01:56 · 19631 阅读 · 2 评论 -
vsftpd错误调试之500 OOPS: cannot change directory
出现这个错误胡原因是由于SElinux安全限制。[root@umboyserver vsftpd]# setsebool allow_ftpd_full_access 1[root@umboyserver vsftpd]# setsebool allow_ftpd_use_cifs 1[root@umboyserver vsftpd]# setsebool allow_ftpd_use_原创 2010-12-07 19:42:00 · 1515 阅读 · 0 评论 -
扩展实现PHP Benchmark
一、PHP Benchmark实现思路在看Redis慢查询日志实现的过程中,觉得这个功能很有用,能够帮助快速分析出性能问题出处,所以想到为PHP实现这样的功能。实现思路也是借鉴Redis对于慢查询的处理流程。(此扩展目前仅支持Linux)此扩展的作用是帮助分析执行时间过长的PHP脚本记录的要素有:1、脚本执行时间2、当前请求的REQUEST数据3、当前请求的文件相对原创 2013-05-11 15:43:47 · 11072 阅读 · 1 评论 -
PHP资源类型
在PHP中,我们经常使用到资源类型变量。例如:mysql连接、文件句柄等。这些变量无法使用标量来表示,那么在Zend内核中是如何将PHP中的资源变量与C语言中的资源衔接的呢?一、资源变量在PHP中的使用$fp = fopen("test.txt", "rw");var_dump($fp);fclose($fp);打印结果:resource(5) of type原创 2012-05-14 22:45:00 · 17094 阅读 · 2 评论 -
PHP内核中读取$_GET\$_POST等全局变量
一、内核中获取$_GET\$_POST\$_SERVER\$_FILES\$_COOKIE等全局变量HashTable是PHP很多实现的基础,例如$_GET\$_POST等全局变量实现。那么,在扩展中读取这些全局变量,当然还是操作HashTable。内核中初始化环境变量的通过main/php_variables.c中php_hash_environment(TSRMLS_D)PHP原创 2012-06-20 00:23:12 · 14244 阅读 · 2 评论 -
通过VLD扩展分析PHP opcode
机器只能理解机器语言,而PHP作为解释型脚本到底是如何被机器执行的呢?实际上PHP在执行过程中,分为 词法分析、语法分析、编译PHP脚本为opcode,最后Zend引擎会执行这些opcode。在上述执行过程中,经常被人提起的解释型语言性能问题也就是因为每次执行脚本,上述过程都会重复执行。因此,也就出现了APC, xcache, eAccelerator等缓存opchode。一、原创 2012-05-04 23:13:56 · 8822 阅读 · 0 评论 -
PHP中define常量的实现
在应用中经常使用define来定义一些常用的参数信息,来增加程序的可读性和可靠性。在PHP中,常量的名字是一个简单的标识符,执行周期中不能改变,并且默认情况下是大小写敏感的。通常常量总是大写的。注:define中的第三个参数可以设置是否常量名大小写敏感一、常量的内部结构typedef struct _zend_constant { zval value;原创 2012-05-06 23:20:50 · 8470 阅读 · 0 评论 -
编程学习导图
转载一张图片,对照一下,看看自己还需要学习哪些东西吧。转载 2012-01-30 17:38:56 · 1840 阅读 · 0 评论 -
Linux GCC编译使用动态、静态链接库
在windows下动态链接库是以.dll后缀的文件,二在Linux中,是以.so作后缀的文件。动态链接库的好处就是节省内存空间。1、Linux下创建动态链接库在使用GCC编译程序时,只需加上-shared选项即可,这样生成的执行程序即为动态链接库。例如有文件:hello.c x.h main.c编译:gcc hello.c -fPIC -o libhello.so原创 2012-01-16 23:01:31 · 74273 阅读 · 8 评论 -
Linux Shell学习笔记八
Linux Shell学习笔记八原创 2010-11-24 22:20:00 · 1389 阅读 · 0 评论 -
linux nginx管理脚本
linux nginx管理脚本原创 2010-12-13 22:42:00 · 1060 阅读 · 0 评论 -
Shell全局变量
Shell全局变量原创 2010-12-10 22:06:00 · 2742 阅读 · 0 评论 -
Shell脚本的调试选项
Shell脚本的调试选项原创 2010-12-10 21:33:00 · 1327 阅读 · 0 评论 -
sed的基础使用
sed的基础使用原创 2010-12-03 23:35:00 · 1935 阅读 · 0 评论 -
PHP 命令行工具 shell_exec, exec, passthru
PHP 命令行工具 shell_exec, exec, passthru原创 2010-12-06 23:18:00 · 10508 阅读 · 0 评论 -
Linux分区挂载点介绍
Linux分区挂载点介绍原创 2010-12-02 20:27:00 · 2020 阅读 · 0 评论 -
Unix Shell tar命令详解
Unix Shell tar命令详解原创 2010-12-02 20:56:00 · 4167 阅读 · 0 评论 -
Linux Shell学习笔记十
Linux Shell学习笔记十原创 2010-11-29 21:47:00 · 1100 阅读 · 0 评论 -
Linux Shell:YUM命令参考
Linux Shell:YUM命令参考原创 2010-11-29 22:11:00 · 2768 阅读 · 1 评论 -
Linux 定时关机
Linux 定时关机原创 2010-12-20 00:27:00 · 923 阅读 · 0 评论 -
vsftpd参数说明
Linux下一款经典的FTP服务器,本文介绍了里面配置参数原创 2010-11-07 22:04:00 · 1202 阅读 · 0 评论 -
Linux Shell之IO重定向
shell脚本学习指南,第二章的学习笔记原创 2010-11-12 22:24:00 · 1546 阅读 · 0 评论 -
Linux Shell学习笔记九
Linux Shell学习笔记九原创 2010-11-25 23:03:00 · 972 阅读 · 0 评论 -
Linux Shell学习笔记七
Linux Shell学习笔记七原创 2010-11-23 21:38:00 · 1101 阅读 · 0 评论 -
Linux Shell学习笔记六
Linux Shell学习笔记六原创 2010-11-22 22:31:00 · 871 阅读 · 0 评论 -
Linux Shell学习笔记五
Linux Shell学习笔记五原创 2010-11-21 22:30:00 · 981 阅读 · 0 评论 -
Linux Shell学习笔记三
Linux第五学时 文件属性操作原创 2010-11-17 22:55:00 · 1017 阅读 · 0 评论 -
Linux Shell学习笔记四
Linux Shell学习笔记四原创 2010-11-18 23:07:00 · 1778 阅读 · 0 评论 -
Linux Shell学习笔记
Shell基础、文件系统操作原创 2010-11-15 22:37:00 · 896 阅读 · 0 评论