08 2013 档案

摘要:在写一个php原生函数的时候,想起使用thinkphp的C函数读取数据库配置非常方便,于是看了看源码的实现,原理很简单,分享一下:下面是common.php,实现了C函数:if(is_file("config.php") ){ // config.php文件返回一个数组 // C函数判断是一个数组,则会将这个数组赋值给 $_config,下面我们用在这个变量里面读取配置 C(include 'config.php');}// 获取配置值function C($name=null, $value=null) { //静态全局变量,后面的使用取值都是在 $)co 阅读全文
posted @ 2013-08-29 17:46 ifeixiang 阅读(6398) 评论(0) 推荐(1) 编辑
摘要:问题:nginx error while loading shared libraries: libevent-2.0.so.5: cannot open shared object file: No such file or directory解决方案:ln -s /usr/local/lib/libevent-2.0.so.5 /lib64/libevent-2.0.so.5 阅读全文
posted @ 2013-08-28 15:26 ifeixiang 阅读(203) 评论(0) 推荐(0) 编辑
摘要:随着数据库的增长,innodb文件和日志文件会越来越大,如果是默认安装的mysql,这些文件一般是放在 /usr/lib/mysql下面进行转移:1,安全关闭mysqlmysqladmin -u root -p shutdown2,复制mysql文件夹,注意修改权限mv /var/lib/mysql /home/data/chown -R mysql.mysql /home/data/#还有,修改对象(文件)的安全上下文chcon -R -t mysqld_db_t /home/data3,修改配置/etc/my.cnf ,有童鞋说要修改 /etc/init.d/mysql启动文件,其实my. 阅读全文
posted @ 2013-08-24 12:50 ifeixiang 阅读(237) 评论(0) 推荐(0) 编辑
摘要:下面是一部分比较重要的建议:1、选择正确的存储引擎以 MySQL为例,包括有两个存储引擎 MyISAM 和 InnoDB,每个引擎都有利有弊。MyISAM 适合于一些需要大量查询的应用,但其对于有大量写操作并不是很好。甚至你只是需要update一个字段,整个表都会被锁起来,而别的进程,就算是读进程都无法操作直到读操作完成。另外,MyISAM 对于 SELECT COUNT(*) 这类的计算是超快无比的。InnoDB 的趋势会是一个非常复杂的存储引擎,对于一些小的应用,它会比 MyISAM 还慢。但是它支持“行锁” ,于是在写操作比较多的时候,会更优秀。并且,他还支持更多的高级应用,比如:事务。 阅读全文
posted @ 2013-08-15 10:40 ifeixiang 阅读(3964) 评论(0) 推荐(0) 编辑
摘要:PHP版:Perl:# 需要先安装 String::CRC32use String::CRC32;sub getCrc{ open my $fd , '<' , $filepath or die("error"); my $crc2 = crc32($fd); my $crc_out = sprintf("%x", $crc2); print uc($crc_out) ; } 阅读全文
posted @ 2013-08-14 17:35 ifeixiang 阅读(628) 评论(0) 推荐(0) 编辑
摘要:今天同步文件的时候发现了这个问题:原因是:tar_file_month=`date +%m`rsync -auzq --exclude="2012_0[1-9]" --exclude="2012_1[0-2]" --exclude="2013_0[1-"$(($tar_file_month-1))"]" 当月是8月,tar_file_month变成了08,下面执行 $(($tar_file_month-1))的时候,变成了08-1,而0x对于shell来说,会解析成8进制,08超过了8进制的表示范围,所以报错:sh 阅读全文
posted @ 2013-08-09 09:38 ifeixiang 阅读(4571) 评论(0) 推荐(0) 编辑
摘要:今天有同学问题,搜索ip的时候怎样能把select ip from tabelx where ip like '%192.168.0.1%'这种句子的性能优化。的确,使用 like %x 的方式,数据库没办法使用索引,一定会进行整表扫描,所以我们需要避免这种方法。之前同事叫我尝试一下用 match() against 的方法。于是顺便试了试,——前提:全文索引只支持MyISAM表select * from `data`.`test` where match (ip) against('192') 这样搜索出来没有结果。google了一会儿,发现网上的例子都是搜索 阅读全文
posted @ 2013-08-07 18:42 ifeixiang 阅读(2633) 评论(1) 推荐(0) 编辑
摘要:今天导入mysql表的时候,提示write file error /tmp/xxx 原因是表太大,创建临时表的时候,tmp目录不够空间了。找到一个解决方法:使用 mount --bindmount --bind /home/tmp /tmp这样会把 /home/tmp目录mount成tmp,原来的tmp会没用。这种方法挺适合测试的...不过,原来的tmp没了,所以需要先将数据拷贝到新的tmp目录下,当然,得保持文件属性,使用 cp -p 即可。 阅读全文
posted @ 2013-08-02 18:21 ifeixiang 阅读(666) 评论(0) 推荐(0) 编辑