
js/shell/php/内核
文章平均质量分 70
zkaipmoo
这个作者很懒,什么都没留下…
展开
-
tp框架去掉默认module为index的情况
项目中有一个需求:改掉tp框架中www.example.com/Index/about 改为www.example.com/about访问只需要在tp框架thinkphp/lib/core/dsipatcher.class.php文件中 93行:if(!empty($_SERVER['PATH_INFO'])) {下面加上这段代码即可,修改path_info信息即可原创 2013-08-05 11:39:29 · 1899 阅读 · 0 评论 -
shell杀死所有找出来的进程
shell杀死所有找出来的进程ps -ef | grep php | awk '{print $2;}' | xargs kill -s 9原创 2013-08-07 11:23:59 · 1521 阅读 · 0 评论 -
imagemagick图片裁剪
为了减少图片带来的网络带宽的开销,决定裁剪图片。imagemagick这个库很好用。ImageMagick是用C语言开发图片处理程序。可以对图片进行改变大小、旋转、锐化、减色或增加特效等操作。对图片的操作,即可以通过命令行进行,也可以用C/C++、Perl、Java、PHP、Python或Ruby编程来完成。ImageMagick 的官网是:http://www.ImageMagick原创 2013-09-13 01:40:07 · 4615 阅读 · 0 评论 -
shell 时间获取
使用方式 : date [-u] [-d datestr] [-s datestr] [--utc] [--universal] [--date=datestr] [--set=datestr] [--help] [--version] [+FORMAT] [MMDDhhmm[[CC]YY][.ss]] 说明 : date 可以用来显示或设定系统的日期与时间,在显示方面,使用者可以设定欲显转载 2013-09-13 21:20:03 · 694 阅读 · 0 评论 -
sed简单教程
用s命令替换我使用下面的这段文本做演示:123456789$catpets.txtThis is my cat mycat's name is bettyThis is my dog my dog's nam转载 2013-09-14 19:25:03 · 1186 阅读 · 0 评论 -
AWK 简单教程
有时候用到一些awk结合shell用。下面这些简明教程备用一下。我从netstat命令中提取了如下信息作为用例:1234567891011121314151617181920$原创 2013-09-14 18:22:59 · 985 阅读 · 0 评论 -
linux常用命令
序号任务命令组合1删除0字节文件find . -type f -size 0 -exec rm -rf {} \;find . type f -size 0 -delete2查看进程,按内存从大到小排列ps -e -o “%C : %p : %z : %a”|sort -k5 -nr3按cp原创 2013-09-19 17:01:47 · 784 阅读 · 0 评论 -
redis主从配置和php扩展搭建
1.下载wget –c http://redis.googlecode.com/files/redis-2.2.14.tar.gz2.安装tar zxvf redis-2.2.14.tar.gzcd redis-2.2.14make && make installmake命令执行完成后,会在src目录下生成5个可执行文件,分别是redis-server、re原创 2013-10-10 02:00:43 · 1822 阅读 · 0 评论 -
phpredis 函数手册
phpredis是php的一个扩展Redis::__construct构造函数$redis = new Redis();connect, open 链接redis服务参数host: string,服务地址port: int,端口号timeout: float,链接时长 (可选, 默认为 0 ,不限链接时间)注: 在redis.conf中也有时间,默认为300pc转载 2013-10-10 19:20:04 · 955 阅读 · 0 评论 -
php cookie值获取不到
setcookie()的默认路径是当前目录下,如果其他目录要访问这个Cookie是访问不到的如果该参数设为 '/' 的话,cookie 就在整个 domain 内有效,如果设为 '/foo/',cookie 就只在 domain 下的 /foo/ 目录及其子目录内有效,例如 /foo/bar/。默认值为设定 cookie 的当前目录。只需要更改路径就可以了setcookie("viewli原创 2013-10-22 15:18:32 · 3117 阅读 · 0 评论 -
安装imagemagick安装出错
#先安装perl-CPAN,为防止出现以下错误:yum -y install yum -y install perl-CPAN错误如下:perl /usr/lib/perl5 /usr/share/perl5 .) at Makefile.PL line 24.BEGIN failed--compilation aborted at Makefile.PL line 24.ma原创 2013-09-12 15:43:35 · 4305 阅读 · 0 评论 -
基于php-fpm的配置详解
pid = run/php-fpm.pidpid设置,默认在安装目录中的var/run/php-fpm.pid,建议开启error_log = log/php-fpm.log错误日志,默认在安装目录中的var/log/php-fpm.loglog_level = notice错误级别. 可用级别为: alert(必须立即处理), error(错误情况), warning原创 2013-11-21 02:08:32 · 901 阅读 · 0 评论 -
svn每两秒钟自动更新
不通过钩子自动更新svn。我们都知道crontab的粒度最小是到分钟,但是我们还是可以通过变通的方法做到隔多少秒运行一次。第一种方法以下方法将每20秒执行一次crontab -e* * * * * /bin/date* * * * * sleep 20; /bin/date* * * * * sleep 40; /bin/date说明:需要将原创 2013-11-10 20:32:01 · 1170 阅读 · 0 评论 -
yum命令无法使用的问题
今天需要装一个分析nginx日志的轻量级工具goaccess,需要安装一些依赖包,缺发现无法安装。报如下错误:There was a problem importing one of the Python modulesrequired to run yum. The error leading to this problem was: No module named原创 2013-11-21 16:19:42 · 5404 阅读 · 0 评论 -
shell监视进程是否存在
项目中发现magent进程莫名没有了,先写个shell脚本监控一下。有时间再查找原因。#!/bin/shpid=`ps -ef | grep "magent" | grep "11113" | awk '{print $2}'`if [ "$pid" == "" ];thenmagent -u root -n 51200 -l 192.168.0.1 -p 11113 -s原创 2013-11-08 18:43:17 · 984 阅读 · 0 评论 -
压缩日志脚本
由于公司服务器磁盘快慢了,一天产生好几个g的日志,把原来的日志先压缩,再删除了。写了个shell脚本#!/bin/shcd /data_disk/pclog/safe/for i in {10..10}dofor j in {1..31}doif [ $i -lt 10 ];thentmp_i="0"$ielsetmp_i=$ifiif [原创 2013-11-09 17:25:25 · 1193 阅读 · 0 评论 -
解决'RedisException' with message 'read error on connection'
default_socket_timeout = 60 由于redis扩展也是基于php 的socket方式实现,因此该参数值同样会起作用。 找到了问题就比较好解决了: 1、直接修改php.ini,将其设置为我们想要的值(这个不推荐) 2、在我们的脚本中通过以下方式设置,这样就比较灵活,不对其他脚本产生影响原创 2013-11-25 17:12:15 · 16775 阅读 · 1 评论 -
xhprof安装以及php程序性能测试
1.安装xhprofwget http://pecl.php.net/get/xhprof-0.9.2.tgztar zxf xhprof-0.9.2.tgzcd xhprof-0.9.22.拷贝显示文件到要测试的网站里cp -r xhprof_html xhprof_lib /www/www.hx.com/xhprof/cd extension/usr原创 2013-11-12 17:32:34 · 1063 阅读 · 0 评论 -
神奇的Fastcgi_Finish_Request
当PHP运行在FastCGI模式时,PHP FPM提供了一个名为fastcgi_finish_request的方法.按照文档上的说法,此方法可以提高请求的处理速度,如果有些处理可以在页面生成完后再进行,就可以使用这个方法.听起来可能有些茫然,我们通过几个例子来说明一下: echo '例子:';fastcgi_finish_request(); /* 响应完成, 关闭连接 */ /* 记原创 2013-12-08 20:55:52 · 938 阅读 · 0 评论 -
http header头设置反向代理不缓存
一:概念说明 Expries:网页的cache过期时间,到指定日期网页cache失效 Last-Modified:网页的最新更新时间 Cache-Control 缓存控制 no-cache:不缓存网页 no-store:不缓存网页,如果有则删除之 must-revalidate:使之前,服务器响应原创 2013-12-08 22:18:01 · 1947 阅读 · 0 评论 -
使用Strace 调试工具
strace是Linux环境下的一款程序调试工具,用来监察一个应用程序所使用的系统呼叫及它所接收的系统信息。strace是一个有用的小工具,它可以通过跟踪系统调用来让你知道一个程序在后台所做的事情。Strace是一个基础的调试工具,在大多数Linux系 统上默认已经安装;但是即便你不是在跟踪一个问题的时候它也是一个极好的软件。它能告诉你很多关于一个Linux程序怎样工作的信息。原创 2013-12-08 22:25:00 · 721 阅读 · 0 评论 -
linux中wc命令
下面让我们来简单的看一下其支持的参数及其代表的含义。参数及含义参数含义-c显示文件的Bytes数(字节数)-l将每个文件的行数及文件名输出到屏幕上-m将每个文件的字符数及文件名输出到屏幕上,如果当前系统不支持多字节字符其将显示与-c参数相同的结果-w将每个文件含有多少个词及文件名输出到屏幕上原创 2013-12-10 00:03:15 · 960 阅读 · 0 评论 -
使用vld查看php的opcode
下载与安装VLD# wget http://pecl.php.net/get/vld-0.11.2.tgz# tar zxvf vld-0.11.2.tgz# cd ./vld-0.11.2# /usr/local/php/bin/phpize 或者直接phpize# ./configure --with-php-config=/usr/local转载 2013-12-10 00:25:02 · 834 阅读 · 0 评论 -
深入理解php内核:介绍PHP和Zend
编写扩展I - PHP和Zend起步原文:http://devzone.zend.com/public/view/tag/ExtensionPart I: Introduction to PHP and Zendhttp://devzone.zend.com/article/1021-Extension-Writing-Part-I-Introduction-to-PHP-and-Z转载 2013-12-09 15:02:27 · 784 阅读 · 0 评论 -
PHP之源码目录结构
PHP之所以能在web开发语言中排名靠前,不仅仅是因为语法简单,上手容易。我个人认为更多是因为其语言本身的:模块的易扩展性,可维护性以及内存安全管理等特点。写过PHP的程序员不一定都知道:PHP是如何执行的?其组织结构目录的作用?如果对其有所了解,对PHP的认识会更深入,写出的代码也会更高效,更健壮......1. build 和编译有关的目录。2. ext 扩展库代码,例如 mysql、转载 2013-12-10 00:38:14 · 848 阅读 · 0 评论 -
锁机制之PHP文件锁
锁机制之PHP文件锁锁机制之所以存在是因为并发导致的资源竞争,为了确保操作的有效性和完整性,可以通过锁机制将并发状态转换成串行状态。作为锁机制中的一种,PHP的文件锁也是为了应对资源竞争。假设一个应用场景,在存在较大并发的情况下,通过fwrite向文件尾部多次有序的写入数据,不加锁的情况下会发生什么?多次有序的写入操作相当于一个事务,我们此时需要保证这个事务的完整性。如下代码简单模原创 2013-12-10 10:36:24 · 1024 阅读 · 0 评论 -
PHP的$this变量
手册上的一个有意思的小示例。http://www.php.net/manual/zh/language.variables.basics.php $this = 'text'; // error $name = 'this'; $$name = 'text'; // sets $this to 'text' echo $$name;在PHP的词法分析时,$th原创 2013-12-10 10:33:45 · 1316 阅读 · 0 评论 -
PHP与C(或其它语言)通过消息队列进行通讯,完整代码
[php] view plaincopy/* * class msg * Use for communication between php and php; * Create at: 12:08 2012/10/31 * Author: leixun(lein_urg@163.com) * version 1 - 14:01 20原创 2013-12-17 00:58:42 · 1330 阅读 · 0 评论 -
查找一段时间内日志
head -1 update.safe.my.iedun_log.20131217.txt123.122.180.129 - - [17/Dec/2013:00:00:19 +0800] "GET /index.php?s=2 HTTP/1.1" 404 570 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.原创 2013-12-18 12:58:56 · 1235 阅读 · 0 评论 -
php中hashtable详解
PHP中使用最为频繁的数据类型非字符串和数组莫属,PHP比较容易上手也得益于非常灵活的数组类型。 在开始详细介绍这些数据类型之前有必要介绍一下哈希表(HashTable)。 哈希表是PHP实现中尤为关键的数据结构。哈希表在实践中使用的非常广泛,例如编译器通常会维护的一个符号表来保存标记,很多高级语言中也显式的支持哈希表。 哈希表通常提供查找(Search),插入(Insert),删除(De原创 2013-12-17 23:08:18 · 1626 阅读 · 0 评论 -
哈希碰撞攻击
哈希表碰撞攻击的基本原理哈希表是一种查找效率极高的数据结构,很多语言都在内部实现了哈希表。PHP中的哈希表是一种极为重要的数据结构,不但用于表示Array数据类型,还在Zend虚拟机内部用于存储上下文环境信息(执行上下文的变量及函数均使用哈希表结构存储)。理想情况下哈希表插入和查找操作的时间复杂度均为O(1),任何一个数据项可以在一个与哈希表长度无关的时间内计算出一个哈希值(key原创 2013-12-18 00:00:58 · 1926 阅读 · 0 评论 -
memcacheq使用小结
一,BerkeleyDB下载软件包,http://download.oracle.com/berkeley-db/db-5.0.21.tar.gz解压缩后,cd build_unix../dist/configuremakesudo make install二,libevent (需要1.4.x 或更高)下载软件包:http://monkey.org/~provos/libev原创 2013-12-19 19:02:39 · 1382 阅读 · 0 评论 -
生成N个不重复的随机数
<?php/** array unique_rand( int $min, int $max, int $num )* 生成一定数量的不重复随机数* $min 和 $max: 指定随机数的范围* $num: 指定生成数量*/function unique_rand($min, $max, $num) { $count = 0; $return = array();原创 2013-12-22 15:33:53 · 1887 阅读 · 1 评论 -
rabbitmq实战(广播模式)
RabbitMQ的结构图如下: 几个概念说明:Broker:简单来说就是消息队列服务器实体。Exchange:消息交换机,它指定消息按什么规则,路由到哪个队列。Queue:消息队列载体,每个消息都会被投入到一个或多个队列。Binding:绑定,它的作用就是把exchange和queue按照路由规则绑定起来。Routing Key:路由关键原创 2013-12-24 16:22:35 · 11468 阅读 · 0 评论 -
php源码解析:类的原型zend_class_entry
这一段时间忙着网站改版,没有时间来得及更新博文。zend_class_entry是内核中定义的一个结构体,是内核实现PHP语言中类与对象的一个非常基础、关键的结构类型。他就相当于我们定义的类的原型。如果我们想获得一个名字为myclass的类该怎么做呢?首先我们定义一个zend_class_entry变量,并为它设置名字,最后注册到runtime中去。zend_cla原创 2014-01-10 23:34:44 · 1800 阅读 · 0 评论 -
nginx日志分析
#!/bin/shif [ $# -eq 0 ];then echo "plestse specify logfile!" exitelse #LOG=$1 #?鲁媒vs碌?p cat $1 | egrep -v "112.123.123.123" > LOGfiif [ !原创 2014-01-14 00:31:49 · 982 阅读 · 0 评论 -
php图片裁剪问题
今天发现脚本在后台跑时,可以正常裁剪图片,但是放到cron下就无法正常裁剪图片了。exec("convert -resize '125x170>' -strip -quality 60% {$filename} {$min_filename}");exec中命令改成全路径就好了exec("/usr/local/bin/convert -resize '125x170>' -str原创 2014-01-23 00:16:28 · 735 阅读 · 0 评论 -
php5.3 新特性
PHP 5.3中的新特性一.PHP 5.3中的新特性1. 支持命名空间 (Namespace)2. 支持延迟静态绑定(Late Static Binding)3. 支持goto语句4. 支持闭包、Lambda/Anonymous函数5. 新增两个魔术方法__callStatic()和__invoke()6. 新增Nowdoc语法7. 在类外也可使用const来定义常原创 2014-02-03 20:13:44 · 975 阅读 · 0 评论 -
mysqldump导出删除auto_increment
导出表结构,需要删除auto_increment字段,大多数都是打开手动去除,现在自动qu chu原创 2014-04-15 19:06:00 · 5996 阅读 · 0 评论 -
python调用php上传图片
由于fastdfs 的python客户端不是很好用,打算用python调用php来上传图片python程序如下#coding=utf-8import sysimport osimport subprocessmethod = 'fastdfs_upload'proc = subprocess.Popen(["php -f upload.php "+method+" "+newfi原创 2014-02-16 13:25:37 · 1514 阅读 · 0 评论