月归档:2012 年三月

百度空间搬家完成!

找了好几天,终于找到个完美的搬家工具: http://againinput4.blog.163.com/blog/static/1727994912011111111217185/ 最新的脚本在 http://code.google.com/p/blogs-to-wordpress/,其他需要的还是从上面的网站说的地址下载。 非常感谢作者为此作出的辛苦工作! 注意的几个地方是要下载python2.7的,python2.5的缺少urllib包。 打开HiBaiduToWordpress_v2012-01-10-home.py头部有详细说明。 cmd cd 切换到 BlogsToWordpress_v2012-01-10 文件夹下,执行 HiBaiduToWordpress_v2012-01-10-home.py -s http://hi.baidu.com/zxsz4085 -w http://blog.pengduncun.com/wp-content/uploads/baidu_pic 不指定图片路径默认指定的是 http://localhost。。。然后把图片文件夹传到网站对应的位置。 再次感谢作者!http://www.crifan.com/

发表在 默认分类 | 标签为 | 留下评论

【转】shell 编程之2>&1

经常可以在一些脚本,尤其是在crontab调用时发现如下形式的命令调用 /tmp/test.sh > /tmp/test.log 2>&1 前半部分/tmp/test.sh > /tmp/test.log很容易理解,那么后面的2>&1是怎么回事呢? 要解释这个问题,还是得提到文件重定向。 我们知道>和<是文件重定向符。那么1和2是什么? 在shell中,每个进程都和三个系统文件相关联: 标准输入stdin  文件描述符分别为1 标准输出stdout文件描述符分别为2 标准错误stderr文件描述符分别为3 所以这里2>&1的意思就是将标准错误也输出到标准输出当中。 下面通过一个例子来展示2>&1有什么作用: $ cat test.shtdate test.sh中包含两个命令,其中t是一个不存在的命令,执行会报错, 默认情况下,错误会输出到stderr。date则能正确执行,默认输出到stdout,显示时间。 ./test.sh > test1.log./test.sh: line 1: t: command not found $ cat test1.logTue Oct 9 20:51:50 CST 2007 date的执行结果被重定向到log文件中了,而t无法执行的错误打印在屏幕上。 … 继续阅读

发表在 Linux | 标签为 | 留下评论

linux下安装php的memcache、memcached的扩展及memcache服务端

一会d的一会不带d的,服务跟扩展是不是搞晕了? memcache-3.0.5.tgz 提供memcache扩展libmemcached-1.0.4.tar.gz、memcached-2.0.1.tgz 提供memcached扩展memcached-1.4.6.tar.gz 为上面2个扩展方式提供服务,memcached服务器(守护进程) 就像其他服务mysqld、httpd 安装地址可以看php手册 函数 最新手册:http://code.google.com/p/phpdoc-zh/比如想安装memcache扩展,手册里搜索memcache 查看Memcache 查看 安装/配置 下的安装 有地址显示http://pecl.php.net/package/memcache memcache扩展:http://pecl.php.net/package/memcache tar -zxvf memcache-3.0.5.tgzcd memcache-3.0.5 /usr/local/php/bin/phpize./configure –with-php-config=/usr/local/php/bin/php-configmake && make install (扩展配置方式同下面memcached的,很多php的扩展都是通过phpize搞定的) memcached扩展:http://pecl.php.net/package/memcached(summary:PHP extension for interfacing with memcached via libmemcached library)通过libmemcached 库与memcached服务交互的php扩展 tar -zxvf libmemcached-1.0.4.tar.gz cd libmemcached-1.0.4 ./configure make && make … 继续阅读

发表在 Linux | 标签为 , , , | 留下评论

安装svn

参考:http://blog.iterse.com/archives/584 安装软件时需要开启某个扩展 –with-xx=?之前老是想着yum方式装的xx在哪里,=后面的参数应该如何写! 如果系统已装过xx 就不用=?让其自己去找。如果configure报错缺少该库,可能是该库没装上或者是没有装完全。yum install xx* -y 把相关的都装了再试试。有的是安装包下面有扩展的文件夹。比如svn的源码包下面就有zlib文件夹  –with-zlib=./zlib 即可。 2个svn相关的tar.gz包解压到同一文件夹了./configure –prefix=/usr/local/svn   -with-zlib=./zlib#设置svn命令环境变量echo “export PATH=$PATH:/usr/local/svn/bin” >>/etc/profilesource /etc/profilemkdir /data/svndatacd /data/svndatasvnadmin create test svnserve -d –listen-port 8443 -r /data/svndata cd /data/wwwroot/phpsvn co svn://localhost:8443/test windows测试。。。

发表在 服务器端 | 标签为 , | 留下评论

yum配置+PATH设置+nginx少库+sphinx不建立索引+mysql连接慢的处理方法

vim /etc/sysconfig/network-scripts/ifcfg-eth0 //修改ip    ifconfig eth0:1 再加个ipvim /etc/resolv.conf //修改dns rhel-debuginfo.repo中 []需对应name baseurl check gpk 等   错误在 把[debuginfo] 认为是整体的父节点。不存在父节点的概念。 因/etc/init.d -> /etc/rc.d/init.d /etc/init.d/mysqld start/etc/rc.d/init.d/mysqld start service mysqld start相等 添加环境变量:1、直接用export命令: (当前终端有效)#export PATH=$PATH:/new_path 2、修改profile文件: #vi /etc/profile 在里面加入:export PATH="$PATH:/new_path" 3. 修改用户主目录下的.bash_profile(里面读取.bashrc)或者.bashrc文件: (每个用户目录下都有.bashrc,ls -a查看)# vi /root/.bashrc在里面加入:export PATH="$PATH:/new_path"   … 继续阅读

发表在 Linux | 标签为 , , , , , , | 留下评论

【转】PHP正则表达式-贪婪与懒惰匹配

过去一直感觉这个地方很不好懂,今天又大致的看了一下,拿来跟大家共享一下,呵呵! 当正则表达式中包含能接受重复的限定符(指定数量的代码,例如*,{5,12}等)时,通常的行为是(在使整个表达式能得到匹配的前提下)匹配尽可能多的字符。考虑这个表达式:a.*b,它将会匹配最长的以a开始,以b结束的字符串。如果用它来搜索aabab的话,它会匹配整个字符串aabab。这被称为贪婪匹配。有时,我们更需要懒惰匹配,也就是匹配尽可能少的字符。前面给出的限定符都可以被转化为懒惰匹配模式,只要在它后面加上一个问号?。这样.*?就意味着匹配任意数量的重复,但是在能使整个匹配成功的前提下使用最少的重复。现在看看懒惰版的例子吧:a.*?b匹配最短的,以a开始,以b结束的字符串。如果把它应用于aabab的话,它会匹配aab和ab(为什么第一个匹配是aab而不是ab?简单地说,最先开始的区配最有最大的优先权——The Match That Begins Earliest Wins)。表5.懒惰限定符*?重复任意次,但尽可能少重复+?重复1次或更多次,但尽可能少重复??重复0次或1次,但尽可能少重复{n,m}?重复n到m次,但尽可能少重复{n,}?重复n次以上,但尽可能少重复

发表在 默认分类 | 标签为 , | 留下评论

sphinx完整例子

接着 http://hi.baidu.com/zxsz4085/blog/item/ad2986d55e5e181ea18bb7da.html <?phpinclude ‘sphinxapi.php’;$sp = new SphinxClient();$sp->SetServer(’192.168.26.11′, 9312);$sp->SetConnectTimeout(5); $sp->SetLimits(0, 10);//($start, $limit);可以搞分页 $keyword=(isset($_GET['kw'])&& !empty($_GET['kw'])) ?trim($_GET['kw']) : ‘test’; $index_name = ‘test1′; //在执行搜索之前,可以加入各种条件$result=$sp->Query($keyword,$index_name);//print_r($result);//处理$result$matches = isset($result['matches']) ? $result['matches'] : ”;if ($matches == ”){return array();}$ids = array_keys($matches); $id_str = implode(",", $ids);//echo $id_str; //去mysql用id查询结果 //拿着id ,拉库$link … 继续阅读

发表在 默认分类 | 标签为 , , | 留下评论

linux安装sphinx

coreseek官方手册灰常详细:http://www.coreseek.cn/products-install/install_on_bsd_linux/ 原理和索引配置就不写了,简单的记录一下使用。 下载tar.gz ./configure –prefix=/usr/local/coreseek –without-unixodbc –with-mmseg –with-mmseg-includes=/usr/local/mmseg3/include/mmseg/ –with-mmseg-libs=/usr/local/mmseg3/lib/ –with-mysql –with-mysql-includes=/usr/local/mysql/include –with-mysql-libs=/usr/local/mysql/lib 为方便也copy官方说明的直接用,sphinx-min.conf.dist  我复制了一个 改名为csft.conf 这文件里面配置了一个 索引名叫test1的,source 处稍微改一下,比如数据库用户名密码,连接的库等。改成自己想用的。 测试数据是 coreseek/etc/example.sql  mysql -u root -p 123 use test source /usr/lcoal/coreseek/etc/example.sql 也可以在nginx下配置个 phpmyadmin,去windows下访问导入多爽:如 server {        listen       80;        server_name  mysql.120.net;        autoindex on;        root   … 继续阅读

发表在 Linux | 标签为 , , , , , | 一条评论

vmnet1,vmnet8

经常喜欢在windows下安装个虚拟机vmware,安装个linux。我装的是redhat。 (有的iso生成自动安装脚本,妨碍你想自动分区等。启动后等开始了 停止 vm-settings–cd/dvd 有2个,有一个就是自动的那个脚本,remove 再次power on 就不会自动分区等了。) 网络连接方式: vmnet0(桥接):跟主机一样占一个实际路由提供的ip  如主机为0.1 虚拟机ip为0.2 vmnet1(host-only):只是跟主机通信,不能上网。 网上邻居-vmnet1 查看ip 比如 192.168.174.1 将 虚拟机设置为统一网段如192.168.174.11  vmware –vm–settings–network adapter 选择hostonly 即可。用putty连接测试。 vmnet8(nat):共享主机网络上网。 网上邻居-vmnet8 查看ip 比如 192.168.26.1 将 虚拟机设置为统一网段如192.168.26.11  vmware –vm–settings–network adapter 选择nat 即可。用putty连接测试。关于nat原理还在学习中。   设置ip方式:vim /etc/sysconfig/network-scripts/ifcfg-eth0  # … 继续阅读

发表在 Linux | 标签为 , | 留下评论

ldconfig几个需要注意的地方

from:  搜ldconfig 阿c 博客园的 1. 往/lib和/usr/lib里面加东西,是不用修改/etc/ld.so.conf的,但是完了之后要调一下ldconfig,不然这个library会找不到 2. 想往上面两个目录以外加东西的时候,一定要修改/etc/ld.so.conf,然后再调用ldconfig,不然也会找不到 比如安装了一个mysql到/usr/local/mysql,mysql有一大堆library在/usr/local/mysql/lib下面,这时就需要在/etc/ld.so.conf下面加一行/usr/local/mysql/lib,保存过后ldconfig一下,新的library才能在程序运行时被找到。 3. 如果想在这两个目录以外放lib,但是又不想在/etc/ld.so.conf中加东西(或者是没有权限加东西)。那也可以,就是export一个全局变量LD_LIBRARY_PATH,然后运行程序的时候就会去这个目录中找library。一般来讲这只是一种临时的解决方案,在没有权限或临时需要的时候使用。 4. ldconfig做的这些东西都与运行程序时有关,跟编译时一点关系都没有。编译的时候还是该加-L就得加,不要混淆了。 5. 总之,就是不管做了什么关于library的变动后,最好都ldconfig一下,不然会出现一些意想不到的结果。不会花太多的时间,但是会省很多的事。 ./configure make make install [root@localhost libusb-1.0.8]# ldconfig [root@localhost libusb-1.0.8]# ldconfig -v | grep libusb libusb-1.0.so.0 -> libusb-1.0.so.0.0.0 libusb-0.1.so.4 -> libusb-0.1.so.4.4.4 libusbpp-0.1.so.4 -> libusbpp-0.1.so.4.4.4 我碰到的问题是: error … 继续阅读

发表在 默认分类 | 标签为 , | 留下评论