作者归档:大号黑蚂蚁

关于大号黑蚂蚁

我一个涉猎者,总是在寻找网络中的新鲜事物;我一个保守者,总是固持己见不愿改变;我80年后,如今剩下的只有继续奋斗的想法.....

一些PHP日期格式转换和计算的总结

$t1 = time(); //获取当前时间为 1441865485
$t2 = ‘2015-09-03 10:10:00’;
$t22 = strtotime($t2); //转换字符串格式的时间为UNIX标准时间 1441246200
$t12 = date(‘Y-m-d H:i:s’,$t1); //将UNIX标准时间转换为字符串时间 2015-09-10 14:11:25
$t221 = date(‘Y-m-d H:i:s’,strtotime(‘-1 Day’,$t22)); //前一天时间 2015-09-02 10:10:00
$t222 = date(‘Y-m-d H:i:s’,strtotime(‘+1 Day’,$t22)); //后一天时间 2015-09-04 10:10:00
$t223 = date(‘Y-m-d H:i:s’,strtotime(‘-1 Month’,$t22)); //前一个月时间 2015-08-03 10:10:00
$t224 = date(‘Y-m-d H:i:s’,strtotime(‘+1 Month’,$t22)); //后一个月时间 2015-10-03 10:10:00
$t225 = date(‘Y-m-d H:i:s’,strtotime(‘-1 Year’,$t22)); //前一年时间 2014-09-03 10:10:00

$d1 = date_diff(new DateTime(‘2009-10-12’), new DateTime(‘2009-10-13’))->format(‘%R%a’); //计算两个字符串时间相差的天数。> PHP5.3 有效
$d2 = (strtotime(date(‘Y-m-d’,$t1)) – strtotime(date(‘Y-m-d’,$t22))) / (24*60*60); //计算两个UNIX时间相差的天数。

【转】编译安装php时出现 /encodings.c:101: undefined reference to `libiconv_close’ 错误的解决方法

在装php时出现以下的错误:

/root/Downloads/php-5.6.5/ext/xmlrpc/libxmlrpc/encodings.c:73: undefined reference to `libiconv_open'
/root/Downloads/php-5.6.5/ext/xmlrpc/libxmlrpc/encodings.c:81: undefined reference to `libiconv'
/root/Downloads/php-5.6.5/ext/xmlrpc/libxmlrpc/encodings.c:101: undefined reference to `libiconv_close'
/root/Downloads/php-5.6.5/ext/xmlrpc/libxmlrpc/encodings.c:101: undefined reference to `libiconv_close'
collect2: error: ld returned 1 exit status
make: *** [sapi/cli/php] Error 1

根据php官网描述这是一个bughttps://bugs.php.net/bug.php?id=52611)。在configure以后要手动修改下Makefile文件,找到EXTRA_LIBS 在最后添加 -liconv 即可顺利通过
(大约在Makefile文件的104)
EXTRA_LIBS = -lcrypt -lz -lresolv -lcrypt -lrt -lmysqlclient -lmcrypt -lltdl -lpng -lz -ljpeg -lcurl -lz -lrt -lm -ldl -lnsl -lxml2 -lz -lm -ldl -lssl -lcrypto -lcurl -lxml2 -lz -lm -ldl -lfreetype -lmysqlclient -lz -lm -lssl -lcrypto -ldl -lxml2 -lz -lm -ldl -lxml2 -lz -lm -ldl -lcrypt -lxml2 -lz -lm -ldl -lxml2 -lz -lm -ldl -lxml2 -lz -lm -ldl -lxml2 -lz -lm -ldl -lssl -lcrypto -lcrypt -liconv

参考:http://www.tantai.org/57/php-encodingsc101-undefined-reference-to-libiconv_close

网络安装Red Hat Enterprise Linux 7.0

网络安装RHEL的文档,网络上比较多了。这里主要说的是,在通过网络安装时,7.0和以前的系统相比,需要在APPEND后面通过inst.repo指定安装源,否则会出现如下错误:

dracut-initqueue[530]:mount no media found on /dev/sr0
dracut-initqueue[530]:warning couldn't mount /dev/sr0
dracut-initqueue[530]:warning no suitable image
dracut-initqueue[530]:warning could not boot
dracut-initqueue[530]:warning /dev/root doesnt not exist.

以前的pxelinux配置如下:

LABEL rhel7u0-x86_64
  KERNEL vmlinuz-rhel7u0-x86_64
  APPEND initrd=initrd-rhel7u0-x86_64.img

新的pxelinux配置如下:

LABEL rhel7u0-x86_64
  KERNEL vmlinuz-rhel7u0-x86_64
  APPEND initrd=initrd-rhel7u0-x86_64.img inst.repo=http://192.168.1.2/rhel7u0-x86_64