在SUSE 11 SP2 中安装pam_mysql

近期项目中需要在SUSE服务器中安装vsftpd,并且需要设置虚拟用户,使用mysql来管理虚拟用户,这就需要安装pam_mysql了。在ubuntu下,安装软件很轻松,但是在SUSE下就不太方便了,最要命的是上网还不太方便。折腾了小半天,终于算是装上了,好了,现在总结一下安装的过程和遇到的问题吧。

Read More

php学习笔记(三)-数组

数字索引数组

初始化

1
2
3
4
$products = array('Tires', 'Oil', 'Spark Plugs');
$numbers = range(0, 10);
$odd = range(0, 10, 2);
$letters = range('a', 'z');

访问

1
2
echo $products[0]
$products[3] = 'Fuses'; //添加新元素

使用循环访问

1
2
3
4
5
6
7
for ($i = 0; $i < 3; $i++){
echo $products[$i] . " ";
}

foreach($products as $current){
echo $current . " ";
}

Read More

php学习笔记(二)-数据存储与检索

打开文件

1
resource fopen ( string $filename , string $mode [, bool $use_include_path = false [, resource $context ]] )
  • filename:文件名
  • mode:打开文件模式(r,r+,w,w+,x,x+,a,a+,b,t)
    • 出于移植性考虑,在打开文件时总是使用’b’标记
    • 只是windows下的选项,不是推荐选项
  • use_include_path:如果也需要在 include_path 中搜寻文件的话,可以将可选的第三个参数 use_include_path 设为 ‘1’ 或 TRUE。
  • context:在 PHP 5.0.0 中增加了对上下文(Context)的支持。有关上下文(Context)的说明参见 Streams。
  • $_SERVERR[‘DOCUMENT_ROOT’]:文档根目录 /var/www

问题:由于权限问题,fopen可能无法成功打开文件,返回有效的文件指针

解决:使用错误抑制操作符

1
2
3
4
5
@ $fp = fopen("$DOCUMENT_ROOT/../orders/orders.txt", 'ab');
if (!$fp) {
echo "<p><strong> Your order could not be processed at this time. Please try again later.</strong></p></body></html>";
exit;
}

Read More

Rhythmbox单曲循环

Contents

单曲循环插件——Repeat One Song

主页:https://launchpad.net/repeat-one-song

下载解压后,可以把repeat-one-song文件夹放/.gnome2/rhythmbox/plugins/,/usr/lib/rhythmbox/plugins或/.local/share/rhythmbox/plugins目录下面(没有这些目录的话,可以自行创建)。然后打开Rhythmbox,在菜单栏中找到“编辑”—>“插件”找到“Repeat One Song”勾选。

ps:我在Ubuntu 12.04下用的是rhythmbox 2.96,把插件放在/.gnome2/rhythmbox/plugins/,/usr/lib/rhythmbox/plugins目录下面都没有正常显示插件。只有放/.local/share/rhythmbox/plugins下才能正常工作。

让tagbar支持markdown

编辑ctags.cnf文件

在vimfiles目录下新建ctags.cnf文件并添加以下内容

1
2
3
4
5
--langdef=markdown
--langmap=markdown:.mkd
--regex-markdown=/^#[ \t]+(.*)/\1/h,Heading_L1/
--regex-markdown=/^##[ \t]+(.*)/\1/i,Heading_L2/
--regex-markdown=/^###[ \t]+(.*)/\1/k,Heading_L3/

在vimrc中添加以下内容

1
2
3
4
5
6
7
8
let g:tagbar_type_markdown = {
\ 'ctagstype' : 'markdown',
\ 'kinds' : [
\ 'h:Heading_L1',
\ 'i:Heading_L2',
\ 'k:Heading_L3'
\ ]
\ }

Read More

vim编辑markdown时实现预览

现在使用hexo+vim+markdown+github来写博客。但是在用vim编辑markdown文件的时候,感觉缺个实时预览的功能。在不用任何插件的情况下,可以这样来做:首先,hexo new "your title";然后,编辑你的markdown文件,保存;之后hexo server,打开http://localhost:4000/,之后你可以继续在vim里继续编辑,然后保存,再手动刷新页面来预览结果。

Read More