未经处理的异常:0xC0000005:读取/写入位置冲突——从去掉字符串所有空格说起
在c/c++中,有时会遇到0xC0000005: 读取/写入位置冲突的问题。明明编译器编译通过,但是在执行的时候就出现Segmentation fault(coredump)
了。
该错误是由于内存访问出错引起的,最常见于指针的错误使用和数组越界等。下面是博主之前的一个经历——去掉一个字符串前后的所有空格。
PHP中将Unix timestamp时间戳转换成北京时间
由于博客刚从wordpress转到typecho,所以对之前的数据库需要处理。在wordpress数据库中,文章和评论的时间记录形式和typecho不同:wordpress中登记的是北京时间,形如 2014-08-19 21:05:27;而typecho数据库中登记的是时间戳Unix timestamp,形如1408456593(对应标准北京时间是 2014/8/19 21:56:33 )。
于是,我在typecho中用date('Y-m-d H:i', $older_date)
函数把从数据库读取出来的Unix timestamp格式的$older_date
转换成形如 2014-08-19 21:05 的北京时间后,发现比当前的北京时间少了8个小时。GG一番,原来是时区导致的:格林威治时间与中国东八区本地时间相差8个时差。解决方法如下:
完美解决Mysql导入数据库中文乱码的问题
1 问题由来:博客从 WordPress 转向 Typecho
在由 WordPress 转向 Typecho 的过程中,主要难点是将 WordPress 中的文章和评论数据用 wordpress to typecho 插件剥离出来。经整理后再重新将文章转换为 markdown 格式发布到由ty搭建的本博客上,最后把评论导入到对应的文章下面,并对评论id重新排序。
2 本地编辑剥离出的文章和评论的.sql备份文件
通过插件把wordpress中文章和评论的数据转换成 typecho 形式的文章和评论数据,并导出为.sql备份文件。由于评论数据有1521条,对其id重新排序比较困难,所以博主将它们分拆为两个 .sql 文件(其中一个是utf-8格式的resultsql1.sql,另一个是gbk格式的resultsql2.sql)。
解决阿里云无法安装typecho 1.0,页面全变空白
在Windows中安装 typecho 比较简单,只要先创建了数据库,然后安装过程和wordpress也类似。但是之前博主在自己的阿里云CentOS 6.5系统中安装 typecho,却出现了问题。
1 问题描述
先用 mysql 的一个用户创建了一个数据库,然后进入typecho的安装页面,填写好相关信息。typecho 会自动检测输入的数据库信息是否正确。如果正确,那么就会出现下图的页面。因为博客的根目录权限是不可写的,所以typecho程序无法自动生成配置文件 config.inc.php 。于是把里面的代码复制出来,并在根目录下新建文件 config.inc.php ,然后把复制的代码粘贴进去。结果在点击“创建完毕,继续安装”后,安装页面就跳转到空白页面了。
阿里云iptables防火墙配置出错导致ssh无法远程登录
1 悲催的 iptables 探索
由于之前对 iptables 不熟悉,所以在配置 iptables 的时候,直接执行命令iptables -F
。结果导致 Securecrt 中所有连接远端服务器的窗口都断掉了,而且博客的所有页面都无法打开。心中顿时一慌,ssh无法登录,即使博客中的程序和数据库已经备份了也无法取出了。
网上搜了一下,原来在使用这个命令之前一定要先执行命令iptables -P INPUT ACCEPT
。
阿里云CentOS主机 LNMP 环境之主机安全篇二
阿里云CentOS主机 LNMP 环境之主机安全篇一
在前面一篇文章介绍了阿里云的CentOS 6.5系统 LNMP 环境下,如何让 web 站点的更为安全。这篇文章主要从用户登录主机方式入手,简单分享下如何让自己的 Linux 主机更安全。