日志

php统计字符串里面字的个数

摘自wordpress的官方源代码,这种方法可以直接直观地统计出一个字符串中有多少个字(如“你好,世界”的结果为5,而“Hello,世界!”为9,即不分何种语言):

function utf8_strlen($string = null) {
preg_match_all(“/./us”, $string, $match);
return count($match[0]);
}

日志

URL中的中文“乱码”处理

在URL中总是能看见中文被显示为%什么的乱码,这个时候如果php直接获取会产生问题。

因此可以用urldecode(string str)将str中的URL中文转换为页面编码使用的中文,相反,使用urlencode(string str)可以将str转变为URl使用的中文。

日志

CI框架对数据库操作的常用条目-查询

简答快速上手——

 

1.多结果对象形式查询:

$query = $this->db->query(‘SELECT …’);

foreach ($query->result() as $row)
{
 #code

echo $row->title;
}

echo ‘Total Results: ‘ . $query->num_rows();

2.多结果数组形式查询

$query = $this->db->query(‘SELECT …’);

foreach ($query->result_array() as $row)
{
 #code

echo $row[‘title’];

}

echo ‘Total Results: ‘ . $query->num_rows();

3.单结果对象查询

$query->result()

4.单结果数组查询

$query->row_array()

安装edX时遇到的docker内安装错误

Fetched 16.7 MB in 4min 18s (64.6 kB/s)
Reading package lists…
E: Could not open lock file /var/lib/dpkg/lock – open (13: Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?

 

这个错误出现于执行

ssh -i insecure_key root@$IP apt-get update &&  apt-get install -y build-essential software-properties-common python-software-properties curl git-core libxml2-dev libxslt1-dev libfreetype6-dev python-pip python-apt python-dev

时遇到的,解决方案如下:

ssh -i insecure_key root@$IP

直接登进去执行就行了

 

日志

服务器崩溃记录

今天,2014年11月4日,准备上博客查一篇资料,顺手开了ssh登录服务器然后发现有很多应用可以升级,所以果断apt-get upgrade。

然后,由于没有把nginx停下来就升级,导致了访问任何网页出现502 error,结果重装仍然没有用。

 

突然后悔没有快照了。。。

 

再后来只能删除所有的nginx,然后安装了Apache2,唉。

 

一打开博客后台结果全部都是垃圾评论,心情-max.

 

估计还会有一些其他的蛋疼错误,先把快照做了再说吧。。。

伐开心!

日志

【记录】配置EDX的一些具体操作

1.安装前再clone所有的git项目以后,进入configuration / playbooks / group_vars / eduStack这个文件中,将相关的一些地方进行修改,比如:

EDXAPP_LMS_BASE: ‘www.edustack.net’
EDXAPP_PREVIEW_LMS_BASE: ‘preview.edustack.net’
 EDXAPP_CMS_BASE: ‘studio.edustack.net’

这里的内容可以改为需要的域名。再比如:

EDXAPP_TECH_SUPPORT_EMAIL: ‘stack@iflab.org’
 EDXAPP_CONTACT_EMAIL: ‘stack@iflab.org’
 EDXAPP_BUGS_EMAIL: ‘stack@iflab.org’
 EDXAPP_DEFAULT_FROM_EMAIL: ‘stack@iflab.org

这里的邮件改为网站的邮件就好。

以及网站名称什么的也可以改好。

 

2.安装最后一步,注意修改这个内容:

sudo ansible-playbook -c local –limit “localhost:127.0.0.1″ ../eduStack.yml -i “localhost,” -e ‘EDXAPP_PREVIEW_LMS_BASE=preview.edustack.net EDXAPP_LMS_BASE=www.edustack.net EDXAPP_CMS_BASE=studio.edustack.net EDXAPP_LMS_PREVIEW_NGINX_PORT=80 EDXAPP_CMS_NGINX_PORT=80 EDXAPP_LMS_NGINX_PORT=80 edx_platform_version=master ‘

里面的里面的网址记得改好。

3.一些维护指令

如新建一个超级账户:

1 sudo -u www-data /edx/bin/python.edxapp /edx/app/edxapp/edx-platform/manage.py lms --settings aws create_user -e iflab@bistu.edu.cn
2 sudo -u www-data /edx/bin/python.edxapp /edx/app/edxapp/edx-platform/manage.py lms --settings aws changepassword iflab
3 sudo -u www-data /edx/bin/python.edxapp /edx/app/edxapp/edx-platform/manage.py lms --settings aws shell
4 from django.contrib.auth.models import User
5 me = User.objects.get(username="iflab")
6 me.is_superuser = True
7 me.is_staff = True
8 me.save()

这些都是来自于朱劲寿同学的文章,摘录自iflab.org:传送门

4.有的时候重新跑playbook的时候跑完没有更新,重启一下就好。

 

最近遇到的问题大多都在博客里面都有写。目前就是这样。