php函数trim在删除全角空格时会出错

0 条评论

php有个trim函数,可以去掉字符串两边的空格,如果第二个参数指定了还可以去掉指定的头尾的字符。

例如 trim('www.zhetenga.com', 'w') 的结果是 .zhetenga.com。

当第二个参数是全角的空格时,结果将有可能出现非法字符,也就是一个乱码字符。

不知道是不是第二个参数不能用中文字符的原因,还是其它未知的原因。

由于这个乱码字符将会导致保存在数据库的内容出现意外,而不幸的是这种错误很难查出来。

2011年10月14日阅读全文

shell删除指定行之后的所有行

0 条评论

有时候需要删除指定行之后的所有的行的数据。

比如有文件t,内容为:

a

b

c

d

e

现在要删除第三行之后的所有内容,只保留前面的a b c。

可以用命令:

a=4

sed "$a,$ {d}" t

2011年10月11日阅读全文

shell实现向上取整

0 条评论

假如有数量1.2,如果用shell实现向上取整呢?

命令:awk '{print int($1)==$1?$1:int(int($1*10/10+1))}'。

这个时候,如果a为1则输出1,如果a为1.x则输出2。

使用如果:

echo 1.0|awk '{print int($1)==$1?$1:int(int($1*10/10+1))}',输出1.0。

echo 1.1|awk '{print int($1)==$1?$1:int(int($1*10/10+1))}',输出2。

2011年10月10日阅读全文

shell用awk给文件内容加行号

0 条评论

比如有文件t,里面有多行内容,现在要给文件的内容加上行号。

原文件的内容是:

a

b

c

d

e

这样的,要求输出的内容是:

1. a

2. b

3. c

4. d

5. e

可以用awk命令直接实现:

awk '$0=""NR". "$0' t

2011年10月10日阅读全文

shell快速地输出01到99

0 条评论

shell中如何快速地输出01到99这一系列的数字呢?要求都是两位的。

从10到99都不难,因为已经是两位了,但1~9要在前面加一个0。

其实命令也很简单,直接用seq的f参数。

命令如下:

seq -f '%02.0f' 1 99

2011年10月10日阅读全文

php error_reporting 的用法

0 条评论

很多人都认为error_reporting可以选择的参数太多了,很复杂。

其实虽然error_reporting可以选择的参数很多,但只要记住几个常用的就行了。

常用的几个如下:

E_ERROR 只报错误,不报警告。

E_WARNING 报警告和错误信息。

E_PARSE 报解析错误和报警告、错误信息。

然后用法如下:

在调试环境下用error_reporting(E_ERROR | E_WARNING | E_PARSE);

在生产环境下用error_reporting(0);

就记住这么几个就行了,完全不用管其它麻烦无比的一堆定义。

2011年09月27日阅读全文

php快速判断ip是否在网段中

0 条评论

假如有IP 1.1.32.1,如何用php快速地判断是否在网段 1.24.0.0/13 中呢?

可以直接用下面的函数:

function netMatch ($CIDR,$IP) {

list ($net, $mask) = explode ('/', $CIDR);

return (ip2long($IP) & ~((1 << (32 - $mask)) - 1)) == ip2long ($net);

}

2011年09月27日阅读全文

MySQL ERROR: Can't connect ...

0 条评论

如果MySQL提示以下的错误:MySQL ERROR: Can't connect to MySQL server through socket。

这个错误一般是因为MySQL没有成功启动导致的。

这个时候要首先尝试启动MySQL,如果不成功则要检查MySQL日志,查看原因。

2011年09月25日阅读全文

MySQL ERROR 1042 (HY000): C...

0 条评论

如果您发现MySQL日志中出现以下的字符:MySQL ERROR 1042 (HY000): Can’t get hostname for your address,则可以这样解决。

编辑MySQL配置文件,一般在路径/etc/my.cnf。

在[mysqld]中添加一行skip-name-resolve。

这个选项的作用是禁用mysql内置的ip反解析功能。

2011年09月25日阅读全文

linux nginx 502 bad gateway...

0 条评论

如果用nginx做web服务软件,那么极有可能会遇到经典的502错误,bad gateway总是可能会出现。

出现这样的错误,多半是由于php或mysql的原因导致php-fpm/php-cgi出现问题导致的。

有的时候,可能并不知道问题出现在哪,但又急于解决这个问题,就可以试试重启解决。

可以用以下的脚本去自动完成发现502重启php-fpm。

把内容保存为 xxx.sh,然后写到crontab每几分钟检测一次则可。

shell代码:

#!/bin/bash

#by http://www.zhetenga.com/

MY_URL="http://www.zhetenga.com/"

RESULT=`curl -I $MY_URL|grep "HTTP/1.1 502"`

if [ -n "$RESULT" ]; then

#如果502则会执行这里的内容,随便加或改相关命令

#...

#reboot

#...

/usr/local/php/sbin/php-fpm restart

fi

2011年09月19日阅读全文
  1. «
  2. 1
  3. ...
  4. 3
  5. 4
  6. 5
  7. 6
  8. 7
  9. 8
  10. 9
  11. 10
  12. 11
  13. 12
  14. 13
  15. 14
  16. 15
  17. 16
  18. 17
  19. »