分页: 1/138 第一页 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 下页 最后页 [ 显示模式: 摘要 | 列表 ]
阿里巴巴集团和阿里巴巴网络有限公司今天联合宣布,阿里巴巴集团向阿里巴巴网络有限公司董事会提出私有化要约。阿里巴巴集团及其一致行动人目前持有此上市公司73.5%的股份。以下是马云写给阿里巴巴全体员工的信:阅读全文
1、下载驱动程序。
地址:http://www.broadcom.com/support/802.11/linux_sta.php

根据你的机器选择32位或者64位驱动。我这里是hybrid-portsrc_x86_32-v5_100_82_112.tar.gz

2.解压下载的驱动文件,“tar -zxvf xxxx.tar.gz”。
3.进入解压目录,输入“make”,“make install”编译。
4.看到生成“wl.ko”文件和显示所在的路径,进入该路径。
5.加载“wl.ko”模块,输入“insmod wl.ko”,如果出错,可以先输入“modprobe cfg80211”或者“modprobe lib80211”或者“ieee80211_crypt_tkip (depending on your os)”。
6.重启“reboot”后继续配置。
7.进入到第4步的路径,输入“depmod -a”,“echo modeprobe wl >> /etc/rc.local”
8.To enable monitor mode:输入“echo 1 > /proc/brcm_monitor0”
9.reboot测试。
来自:http://hi.baidu.com/xujin421281/blog/item/67162a09b226eb97d53f7c1c.html

阅读全文
      今天下载了一个SecureCRT5.1.3中文版,安装完以后,将我原来用的英文版的config文件夹复制到中文版默认文件夹下,可是登陆路由器的时候提示“数据库未找到防火墙"none”这个会话将尝试连接”确定以后就可以连接上。

       主要是因为中文版中,在.ini文件(包括默认文件和登陆文件)认为S:"Firewall Name"=无,是没有防火墙。而英文版中是S:"Firewall Name"=None,这样中文版就会认为有一个名字为None的防火墙,因此会提示说没有找到名字为"None"的防火墙。把这个None改成“无”就好了。
       反之,把“无”改为“None”即可。注意,区分大小写。
      操作步骤:
      选项->全局选项->常规->配置文件夹->找到这们folder的位置后,再直接:查找所有的ini文件,找到出现未找到防火墙None的这个ip的ini,打开这个ini后,将"Firewall Name"=无 修改为"Firewall Name"=None,及可。当然你要是嫌弃麻烦,也可以批量脚本替换。注意:None中的N是大写。
1. 程序(*.c,*.h)中使用了中文的标点符号(全角),比如;,},+。
改成英文的标点半角符号就行了。
甚至有时候空格也会出现类似错误,删掉该空格 重新输入。
vim里面做类似替换还是很容易的。
如何看到报错的符号?
od -c hello.c > log.txt
在log中就能看到符号了

2. 如果替换成了英文标点还出错的话,还报此错误,那么就是文件存贮格式的问题了。
一般在windows下的文件都存成ansi格式,为了在linux下能通用,建议保存成UTF-8不带BOM
编码格式,因为目前gcc和g++不支持UTF-8带BOM编码格式。

用g++编译的时候碰到UTF-8 BOM错误怎么办?
$ g++ -I../../include unit_test.cpp -o unit_test
unit_test.cpp:1: 错误: 程序中有游离的’\357′
unit_test.cpp:1: 错误: 程序中有游离的’\273′
unit_test.cpp:1: 错误: 程序中有游离的’\277′
In file included from unit_test.cpp:63:


或在英文系统下:
$ g++ -I../../include unit_test.cpp -o unit_test
unit_test.cpp:1: error: stray ‘\357′ in program
unit_test.cpp:1: error: stray ‘\273′ in program
unit_test.cpp:1: error: stray ‘\277′ in program
In file included from unit_test.cpp:63:


如何判断文件是否是使用UTF-8 BOM存储的?

执行下面的命令:
$ cat cpp/src/unit_test/unit_test.cpp |hd -n 10
00000000 ef bb bf 2f 2a 2a 2a 2a 2a 2a |…/******|
0000000a



linux下c编程有时会遇到 :

wanglitaotest.c:4: 错误:程序中有游离的 ‘\357’
wanglitaotest.c:4: 错误:程序中有游离的 ‘\274’
wanglitaotest.c:4: 错误:程序中有游离的 ‘\214’
wanglitaotest.c:4: 错误:expected ‘;’, ‘,’ or ‘)’ before ‘char’
wanglitaotest.c:9: 错误:程序中有游离的 ‘\357’
wanglitaotest.c:9: 错误:程序中有游离的 ‘\274’
wanglitaotest.c:9: 错误:程序中有游离的 ‘\214’
wanglitaotest.c:17: 错误:程序中有游离的 ‘\357’
wanglitaotest.c:17: 错误:程序中有游离的 ‘\274’
wanglitaotest.c:17: 错误:程序中有游离的 ‘\214’
wanglitaotest.c:17: 错误:程序中有游离的 ‘\357’
wanglitaotest.c:17: 错误:程序中有游离的 ‘\274’
wanglitaotest.c:17: 错误:程序中有游离的 ‘\214’

解决办法
1.程序中输入的字符: , ; " ' / 等符号,有可能是使用的中文输入发输入的
2.程序中有使用全角拼音的现象
把程序完全用 英语输入,半角输入运行正常

来自:
http://tiaozhanshu.com/computer/software/gcc%E7%BC%96%E8%AF%91%E6%8A%A5%E9%94%99%EF%BC%9A%E7%A8%8B%E5%BA%8F%E4%B8%AD%E6%9C%89%E6%B8%B8%E7%A6%BB%E7%9A%84357273277%E7%AD%89.html
http://apps.hi.baidu.com/share/detail/47329734
其实说到编码转换,那就不得不说到iconv这个库了,如果已经安装了这个工具,那在命令行下直接打这个命令就行了。下面就用这个工具来实现中文系统下的常用编码转换。

首先,来了解一下iconv这个命令的使用方法。命令格式如下:

iconv -f 源编码 -t 目标编码 文件名

-f 参数指所要转换文件的文件编码,当然必须事先知道文件的编码,不然不能正确转换。
-t 参数指希望转换成的文件编码,当然应该知道所指定文件的编码能不能转换成该编码,不然转换后的结果可能一无所用。比如你将中文编码转换成西欧的某种编码的话,是没有什么意义的。
文件名 就是你希望转换的文件的名称的,当然也可以包含路径了。

比如,将notepad.txt文件用GBK转换成UTF8,命令如下:

iconv -f gbk -t utf8 notepad.txt

如果,转换文件编码的同时不想覆盖源文件,可以使用如下命令:

iconv -f gbk -t utf8 notepad.txt > notepad-utf8.txt

如果要批量转换文件编码,可以使用以下命令:

find ./ -type d -exec mkdir -p newdir/{} \;
find ./ -type f -exec iconv -f gbk -t utf8 {} -o newdir/{} \;

将当前目录下的所有文件转换成UTF8格式放在newdir目录下。
用法: iconv [选项...] [文件...]
转换给定文件的编码。


来自:http://www.iusecms.com/page/2/
Linux下find一次查找多个指定文件或者排除某类文件,在 GREP 中匹配多个关键字的方法
(1)Linux下find一次查找多个指定文件:
查找a.html和b.html

find . -regex '.*\.txt\|.*\.doc\|.*\.mp3'

(2)排除某些文件类型:
排除目录下所有以html结尾的文件:


(3)在 GREP 中匹配多个关键字的方法:
grep查找多个数字的文件:
-r 递归,-E:正则  -l:只显示文件名




参考本站:http://justwinit.cn/post/714/
通常情况下实现定时计划任务有以下几种方式:

linux下可以借助crontab+php的方式(Crontab是一个很方便的在unix/linux系统上定时(循环)执行某个任务的程序 )
windows 下有两种方式:
借助于vbscript脚本加载无窗口的服务

新建文本文件,复制以上脚本,另存为后缀为*(.vbs)的文件后即可。

上面“D:\php\php.exe D:\php\source\do.php” 这种方式可以写在bat文件中,或者window计划任务中都可以执行。
php内部支持的一种利用函数“ignore_user_abort ” 来永久执行的方案。

第三种方案,需要总是执行脚本,而且响应请求的时间是无限制的,对于定义了最大响应时间的fastcgi方式不可行,脚本还是会停止。所以需要找一种更加稳妥的方案。

**找到了**

数学是很神奇的东西。实际上定时执行,是一个时间条件执行,php中有取得时间秒数的函数time() 返回据1970年1月1日开始的秒数,而我们通常定时任务执行,可以使300秒,1000秒之类的时间间隔,意味着 。这个就好处理了,time()%timestamp==0 只要整除到了符合间隔的时间,就执行一次,恰好符合了定时的目的。

实际上最后一种简单实现,解决的是普通请求中脚本定时任务的问题,这里会受到响应时间的限制,想让这部分代码执行的更久一下可以参考ignore_user_abort和set_time_limit,如果需要大运算量的处理,就需要借助前面介绍的方式在服务器端控制定时任务了,但作为普通需求,最后一种方案是一种简单直接的实现,有一定意义!


来自:http://develop.9he.info/php/%E5%AE%9A%E6%97%B6%E4%BB%BB%E5%8A%A1%E7%AE%80%E5%8D%95%E5%AE%9E%E7%8E%B0


其它方法:
下面的这段代码,可以在当前文件夹下,生成一个test.txt,并每隔20秒,往里面写入一个时间戳,无论客户端是否关闭浏览器。

关键的两个函数:

ignore_user_abort(true),这个函数的作用是,无论客户端是否关闭浏览器,下面的代码都将得到执行。

set_time_limit(0),这个函数的作用是,取消php文件的执行时间,要是没有这个函数的话,默认php的执行时间是30秒,也就是说30秒后,这个文件就say goodbay了。
代码发布上线,用PHP来做的话很可能会用到。
使用PHP完成SVN的操作,包括复制,查看列表,删除,移动,创建目录,查看diff,更新,合并,提交,获取状态,获取commit log,获取当前版本号操作。在svn 1.6.11版本中测试通过。
来自Url:http://www.oschina.net/code/snippet_162844_7312
代码如下:
阅读全文
CVS 和Subversion 都支持分支(branch)和基线(tag),通过分支与合并,可以有效支持大项目的并行开发模式;通过基线管理,可以准确标识一组文件的版本,有效进行软件发布管理和必要时的历史回溯。

但CVS 和Subversion 在实现分支和基线的方式上存在很大的不同。CVS 在创建分支的时候,需要对所有进行分支的文件进行依次的操作,因此分支的建立成本(主要是建立分支所需的时间,或消耗的计算资源)与参与分支的文件数量成比例,项目越大,版本库越大,文件越多,分支的建立成本越高;基线(tag)的建立与此类似。

Subversion 的分支和基线是通过执行“拷贝”来建立的:回想一下在没有引入版本管理工具的时候我们是如何进行所谓的“分支”和“基线”管理的?答案显然是“拷贝” — 我们通过“拷贝”或“备份”来建立基线;同样,为支持多个开发人员可以同时进行开发,我们为每个开发人员创建一份“拷贝”。由此看来,Subversion 通过“拷贝”来建立分支和基线显得非常自然,有点“返朴归真”的意思。

由于Subversion 的全局版本号特性,Subversion 中分支或基线的创建过程,或Subversion中的“拷贝”过程,真正的操作是在版本库中创建一个到某一全局版本号的指针(pointer),不再需要针对众多的单个文件依次执行操作。因此,该操作的成本为一个很小的常数,与项目大小,版本库大小,文件数目的多少无关;并且,分支或基线的建立不需要进行版本的冗余存储,新建立的分支或基线基本不占用版本库空间,分支的后续存储空间的开销也只与修改的大小有关。

来自:http://wubiao-china.blog.sohu.com/80083880.html
最近在看C指针编程之道,于是否涉及到队列,简单介绍了下,是以指针为原型的,在网上找了一篇文章,发现其写法和书上差不多,做下备案,代码如下,有时间用gdb跟踪学习一下:
阅读全文
写给自己,So,

场景: 线上代码要升级,此次代码要上线时,但线上和线下的某几个文件不一样,不能直接覆盖,需要对比,升级文件通过svn导出(包含文件夹导出),而线上用sz(可sz不能帮助建立文件的目录,导出都在一个目录里),于是否想通过Beyond Compare做文件夹的比较。
问题: 如何把线上的导出的部分需要覆盖的文件在导出后再通过建立文件夹和线上结构一样?【要是sz能帮助在导出时就按文件夹存放好就好了,可好像没有看到有这个选项】
核心: 如何重建线上需要覆盖的文件,好让Beyond Compare比较两个文件夹。
步骤: 两个步骤
       (1)摘取线上的需要覆盖的文件名下载到线下一个文件夹中。
  把线下svn要覆盖的文件导出到目录后用find命令:find . -type f 找出所有的文件,该命令的结果已经包含了目录和文件。
  把这些文件名,前面加上sz及可导出到线下的一个文件夹中。


       (2)建立和线上一样的目录并拷贝对应文件到目录中
       建立和线上一样的目录结构:对线下svn导出的文件(注意是:export才包含文件夹,而save revision to这个的导出比较乱。参考:http://justwinit.cn/post/4847/)
       用find命令找出文件夹:
       find . -type d
       再在find结果的内容前面添加mkdir  ,后到线上导出的文件目录下运行这个mkdir 的命令:在线上代码的文件夹下生成目录。
  (3)构造cp a.php  abc/a.php 类似并运行。
  在线下svn包含目录的文件中,运行如相命令,生成文件a.txt:
  
  以上文件是一个文件名。下一步就是要一个 abc/a.php ,这个好办,直接:find . -type f 就能搞定,为b.txt,
  Linux提供了一个: paste  命令:
  
   结果如下:
   a.php  abc/a.php
  
   再vim或者awk在前面加一个正则替换实现:cp a.php  abc/a.php,即可,再到线上文件下载的目录下运行这个生成好的脚本,也就完成了把原来的文件放到对应的目录下。
CentOS6.2网络问题:eth0 … does not seem to be present, delaying initialization
先是设置了静态IP地址,然后在 service network restart 的时候总是提示eth0 “does not seem to be present, delaying initialization”,然后当然也就得不到有效的IP地址。


折腾来折腾去,
(1)在GUI下用了RHEL自带的网络工具(System→Administration→Network)来配置,一进去就看到网卡是inactive的,咦,这是怎么回事?!于是点击“Active”,将该网卡激活,然后再重启系统,又回到了有问题的状态,神奇了!于是再进GUI工具查看,还是inactive的,气死我了。似乎怎么设置,重启之后都要回到inactive的状态,于是在GUI里先把这块网卡给删了,然后再添加上。

再重启,搞定,没有再出现上面的问题。

(2)setup命令把eth1删除了,重新设置下eth0,再重新启动时候试试看...
这个setup是后来才加的,以前叫netconfig,后来rpm包就是setup,安装方法如下:
如下所示Url:http://justwinit.cn/post/1718/

这个安后,直接setup就可以配置网卡了,呵呵。

那个: yum install netconfig 好像不太起用,在新的centos6.2实际实践中发现的。


法二:
我这样,好像行了,至于这个setup这rpm包,上网后给安上这个,看来还是很方便的:

再修改,换个网卡由eth0-->eth1:
修改:

cd  /etc/sysconfig/network-scripts/;
cat   ifcfg-eth0 > ifcfg-eth1
vi  /etc/sysconfig/network-scripts/ifcfg-eth1
修改为:
[root@bogon ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth1
有时我们在Post的Ajax请求时还是需要一个Get的请求,但Ajax在Jquery封装的Get,Post都是默认异步的,要想同步还是得更加底层,于是有了下面的代码,其实还有更好的方法,
或者在全局设置Ajax属性

再用post,get就是同步的了

网上也有,Url及内容贴在最下面:阅读全文
在Windows或者Linux下mysql安装后默认的密码为空,
又当我们又安装了mysql的管理工具
phpmyadmin后登陆时出现“空密码登陆呗禁止(参见允许密码为空)”。不能登录成功              
解决办法如下:
最新版本:phpMyAdmin-3.4.9-all-languages.tar.bz2
DownLoadUrl:http://sourceforge.net/projects/phpmyadmin/files/phpMyAdmin/3.4.9/phpMyAdmin-3.4.9-all-languages.tar.bz2/download#!md5!ab181a3fffc89e5d5c4ebd62ccfe396b
修改如下:
第一步,导出旧库
mysqldump --default-character-set latin1 -uroot -pXXX --database db >     /tmp/old.sql
第二步,转换编码
iconv -t utf-8 -f gb2312 -c /tmp/old.sql > /tmp/new.sql
第三步,导入新库
修改new.sql,增加一条sql语句: "SET NAMES utf8;",保存。
mysql -hlocalhost -uroot db < new.sql

来自:PHP高级技术群 8745758

Gbk编码导出这个Mysql的注释也就对了:



而存入的时候是:
要想显示 正常,需要在Mysql Client输入:

再select数据也就正常了。是表存的内容是latin1,而这个表结构的注释是gbk编码的,所以这块还是多少有一些问题;
证明:
1,只导出数据:
mysqldump --default-character-set gbk -t db_adc t_tst_sum_info >     /tmp/old.sql   理论是乱码,实践出也是乱码。
mysqldump --default-character-set latin1  -t db_adc t_tst_sum_info >     /tmp/old.sql  理论上是正常,实践也是正常。

充分说明这个表的结构注释和表内容是不一样的,要想一样,得统一为lation,或者gbk,但历史原因都是lation,所以,统一为lation较好。


最后:尽管说明这样两种编码是可以的,但是还是可以统一为lation的,线上我也就发现是可以的。
2012年的情人节,即兴赋诗一首,如下:
情人时节雨纷纷,路上行人欲断魂,潇潇风莲竹林景,不见银河迢暗渡。

送泡妞技能知识体系:阅读全文



show table status;
show table status where name ='表名'; 可以查看指定表的信息
show table status where name ='t_tst_draft_info';
CTRL+SHIFT+L | 显示所有快捷键列表(个人称之为“新手键”)
也可以参考:http://www.cnblogs.com/mybest/archive/2011/11/25/2263045.html
http://golbz.com/post/14450725325/zend-studio-9
阅读全文
PHP hash漏洞,5.3.9已经证实有php执行漏洞,需要升级到5.3.10,打补丁没有此问题!
是由于PHP官方为解决多语言hash漏洞引入了新的机制产生的新的安全漏洞。安全部门监测到目前PHP 5.3.9被黑客发现存在严重的安全漏洞,远程攻击者可以直接利用此漏洞执行任意PHP代码,安全风险非常高。
http://sec.chinabyte.com/45/12257045.shtml
http://www.2cto.com/News/201202/118475.html
【本文主要介绍SVN的迁移方案,以及如何安装部署一台SVN服务器】
一、迁移方案

<<<近期发现svn放在机房里托管,速度上很难受到保证,经常遇到网络故障,导致在开发的时候很受影响。故决定将SVN迁移回本地机房里,然后通过建立VPN通过供外界使用,效果图如下>>>

工作机制:SVN Server配置于本地机房中(内网接入),外网接入时需要通过VPN通道。

备份机制:项目进行中时,定期备份SVN服务器的版本库(可采用脚本实现);结项后,手动check out版本库,进行整体备份。

优势:保证了SVN Server的安全性,稳定性。且当SVN Server出现宕机等异常时,可立即切至备份服务器继续工作。

劣势:当 VPN通道出现异常时,导致外网则无法接入SVN Server。
自动备份方案

采用rsync文件同步方式。将SVN版本库进行同步工作,rsync教程
二、安装配置SVN服务器
1.安装apr和apr-util


2.安装apache

3.安装subversion

注意:删除apr与apr-util。

/*将svnadmin放入$PATH环境变量里*/

/* 你可以用以下命令检验subversion是否安装成功 */
svnadmin –version
4.subversion环境的搭建

使用与Apache模块的方式运行
首先,把我们需要的SVN模块加载上,修改Apache的配置文件httpd.conf:

#然后配置仓库:

建立SVN版本库


建立svnaccessfile

然后,配置验证方式:
这里使用旦Apache的验证方式:

添加用户和密码:

注意:-bc 第一次创建需要c参数,接下来就只要b这个参数即可
下面,就要写这个svnaccessfile文件说明

将这个设置完成后。重启Apache

就可以通过

http://localhost/svn/test

这个URL来访问仓库了

导入导出SVN版本库可以使用SVN客户端工具实现,很简单,这里就不详细说明了,客户端工具为:TortoiseSVN,图形是只乌龟
三、遇到的问题

问题1.将线上的SVN环境拷贝过来,配置好后,通过URL访问提示如下信息:Could not open the requested SVN filesystem
查看日志文件,发现:Expected FS format ’2′; found format ’3′

问题产生原因:

服务程序是1.4.x版本的svnserve或mod_dav_svn,版本库通过1.5.x版本的svnadmin或TortoiseSVN创建时,会产生这个问题

解决方法:

使用1.5以上的SVN来作为服务
或使用1.4系列的svnadmin或TortoiseSVN来创建版本库
或使用1.4.x系列创建新版本库,通过1.5.x版本备份并恢复原版本库到新版本库

问题2.


问题产生的原因:

SVN 依赖的APR版本要正确。如果Apache为2.0.x,对应的APR版本应为0.9.x;Apache为2.2.x,对应的APR版本应为1.2.x。 由于subversion-deps包里的APR是0.9.x的,因此编译svn时要删除从deps里解压出来的apr, apr-util,改而使用apache 2.2里提供的。(这里指定为开始安装的apr目录),这一点知识非常重要。

解决方法:
下载apr-1.2.12.tar.gz与apr-util-1.2.12.tar.gz。

编译安装这两个包,然后重新安装下apache与subversion即可。

问题3.

/usr/bin/ld: cannot find -lexpatcollect2: ld returned 1 exit status
make[1]: *** [test/serf_get] 错误 1
make[1]: Leaving directory `/root/build/subversion-1.6.11/serf
‘make: *** [external-all] 错误 1

解决方法:

来源:http://www.jiunile.com/svn%E8%BF%81%E7%A7%BB%E3%80%81%E5%AE%89%E8%A3%85%E3%80%81%E9%85%8D%E7%BD%AE%E7%AC%94%E8%AE%B0.html


罗春晖兄弟的一篇文章,觉得较有价值,短小很有用,于是摘抄了,Url:http://www.luochunhui.com/svn%E6%BA%90%E8%BF%81%E7%A7%BB/
SVN源迁移 内容如下:

在迁移服务器过程中,经常会用到SVN的源迁移。

一个简单的方式,是直接打包源目录,并在新服务器上解压。 但这种情况,需要保证两个源的SVN版本一致,在打包过程中,也不得有svn checkin,否则可能会导致源损毁或不可预期的后果。

一个安全的方式, 是使用svnadmin工具

旧服务器:

svnadmin dump /home/svn/projectrepos > ~/projectrepos.svn.dump
scp -C ~/projectrepos.svn.dump username@new.server.ip:/home/giko

新服务器:
cd /home/giko
svnadmin create /home/svn/projectrepos
svnadmin load /home/svn/projectrepos < projectrepos.svn.dump
实现过程:阅读全文
具体操作:
编译eAccelerator
/usr/local/php5/bin/phpize
./configure --enable-eaccelerator=shared --with-eaccelerator-info --with-php-config=/usr/local/php5/bin/php-config
make && make install

如果您想要使用控制面板,您需要以下面方式编译eAccelerator

–-with-eaccelerator-info 这是默认值。

当您以 -–with-eaccelerator-disassembler 方式编译 eAccelerator 时,您需要将 dasm.php 和 PHP_Highlight.php 文件放在与 control.php 文件同样的目录下。分解器(disassembler)需要将 PHP 编译为支持 tokenizer (–enable-tokenizer).

您可以在 dasm.php 文件的顶部设置访问分解器(disassembler)的用户名和密码.

修改php.ini可以参考:PHP 加速器eAccelerator 配置参数详解

注意点:
1)将control.php复制到你网站的目录下
2)并将 php.ini 或 eaccelerator.ini 中的 eaccelerator.allowed_admin_path 设置路径到此文件。如果您没有这样做,则您不能看到更多的信息,并且也不能控制 eAccelerator.

默认的用户名和密码是:admin/eAccelerator

修改密码:
查看源代码
打印帮助
vi control.php
$user = "admin";
$pw = "xupeng";

访问方式:http://justwinit.cn/control.php

来自:http://www.jiunile.com/eaccelerator-web%E7%95%8C%E9%9D%A2%E7%AE%A1%E7%90%86.html
根据业务的特殊需求,有些服务器可能禁止外部ping请求。可以使用以下命令来快速实现:

1.关闭ping请求
1  sysctl -w net.ipv4.icmp_echo_ignore_all=1
2  sysctl -p

2.开启ping请求
1  sysctl -w net.ipv4.icmp_echo_ignore_all=0
2  sysctl -p
一:scp断点续传 [暂时没有使用过]
scp一旦出错中断就只能重新开始,不过可以利用rsync实现scp的断点续传
1、在~/.bashrc中加入一个alias:
$vim ~/.bashrc
alias rscp=’rsync -v -P -e ssh’
2、重新载入.bashrc配置
$source ~/.bashrc


二:wget自动断点续传的方法

有时候我们使用wget下载东西被迫打断, 比如网络故障, 终端意外断开, 忘了加"&"放入该台等等.

沉稳的人或许会想到重新开启wget, 并使用 -c断点续传, 可是有时候, 因为N个g的东西突然断了, 一冲动就晕了, 就纠结了, 可能就会就重新跑wget了, 甚至截止到本文还有人不知道-c.

那么为了杯具不再发生, 我们可以让wget每次运行的时候自动加上 -c参数, 那样就万事大吉了嘛. 方法如下:
在家目录下新建文件".wgetrc", 内容如下:
continue = on
写入wget.sh后,可以这样同时下载多个文件:

如果想不用IP,但有两个相同的域名,则需要配置/etc/hosts加和IP对应的域名,再Wget即可。
保存退出, 以后再使用wget就会自动断点续传了, Y, 演示如下Url:http://windphp.com/unix/43.html
[实践Ok]必须记录备案之Linux下VMware虚拟机NAT上网实现
我们在Windows下使用XP时,经常想用Linux,安装了一个Vmware后,但同时又想通过这个Linux的yum命令去更新一下rpm包,下载Lamp等等,
这儿我就来记录并实践一下这个过程,以便以后使用。
共有五个点需要注意:阅读全文
1. Linux下,如何看每个CPU的使用率:
#top -d 1
之后按下数字1. 则显示多个CPU   (top后按1也一样)
Cpu0  :  1.0%us,  3.0%sy,  0.0%ni, 96.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu1  :  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st

2. 在Linux下,如何确认是多核或多CPU:
#cat /proc/cpuinfo
如果有多个类似以下的项目,则为多核或多CPU:
processor       : 0
......
processor       : 1


3. 如何察看某个进程在哪个CPU上运行:
#top -d 1
之后按下f.进入top Current Fields设置页面:
选中:j: P          = Last used cpu (SMP)
则多了一项:P 显示此进程使用哪个CPU。

Sam经过试验发现:同一个进程,在不同时刻,会使用不同CPU Core.这应该是Linux Kernel SMP处理的。


4. 配置Linux Kernel使之支持多Core:
内核配置期间必须启用 CONFIG_SMP 选项,以使内核感知 SMP。
Processor type and features  ---> Symmetric multi-processing support

察看当前Linux Kernel是否支持(或者使用)SMP
#uname -a

5. Kernel 2.6的SMP负载平衡:
在 SMP 系统中创建任务时,这些任务都被放到一个给定的 CPU 运行队列中。通常来说,我们无法知道一个任务何时是短期存在的,何时需要长期运行。因此,最初任务到 CPU 的分配可能并不理想。
为了在 CPU 之间维护任务负载的均衡,任务可以重新进行分发:将任务从负载重的 CPU 上移动到负载轻的 CPU 上。Linux 2.6 版本的调度器使用负载均衡(load balancing) 提供了这种功能。每隔 200ms,处理器都会检查 CPU 的负载是否不均衡;如果不均衡,处理器就会在 CPU 之间进行一次任务均衡操作。
这个过程的一点负面影响是新 CPU 的缓存对于迁移过来的任务来说是冷的(需要将数据读入缓存中)。

记住 CPU 缓存是一个本地(片上)内存,提供了比系统内存更快的访问能力。如果一个任务是在某个 CPU 上执行的,与这个任务有关的数据都会被放到这个 CPU 的本地缓存中,这就称为热的。如果对于某个任务来说,CPU 的本地缓存中没有任何数据,那么这个缓存就称为冷的。

不幸的是,保持 CPU 繁忙会出现 CPU 缓存对于迁移过来的任务为冷的情况。


6. 应用程序如何利用多Core :
开发人员可将可并行的代码写入线程,而这些线程会被SMP操作系统安排并发运行。
另外,Sam设想,对于必须顺序执行的代码。可以将其分为多个节点,每个节点为一个thread.并在节点间放置channel.节点间形如流水线。这样也可以大大增强CPU利用率。

例如:
游戏可以分为3个节点。
1.接受外部信息,声称数据 (1ms)
2.利用数据,物理运算(3ms)
3.将物理运算的结果展示出来。(2ms)
如果线性编程,整个流程需要6ms.
但如果将每个节点作为一个thread。但thread间又同步执行。则整个流程只需要3ms.

来自:
http://blog.csdn.net/zhangxinrun/article/details/6708399
转移了blog到bobo的主机上之后。
搜索功能一直无法使用。
每次搜索总是提示,搜索程序发生了错误。

今天终于解决了。
原来是权限问题!

我的主机是Linux的!
attachment 上传目录 777 之外
temp               目录也要 777 否则无法搜索!

这里做个笔记,希望帮助其他朋友!
以上是linux主机解决办法 同理temp作为session临时写入目录没有设定或者无权限 在win主机下 直接登录bo-blog后台 杂项设置 临时文件夹  写上temp 确定即可

临时文件夹总是设置不成功,设置好了回到该页又是空的,清空临时文件夹时说这样的:
打开以下目录失败: / 。这可能是以下原因造成的:
这个目录不存在;
您没有打开这个目录的权限;
您的服务器禁止了 opendir 函数,在这种情况下,请与您的服务商联系。
返回前页
今天找Bobo换回到bo-blog服务器了,发文章试试。
解决Apache2+PHP上传文件大小限制的问题技术集锦

在用PHP进行文件上传的操作中,需要知道怎么控制上传文件大小的设置,而文件可传大小是受到多种因素制约的,现总结如下:

1、php.ini:upload_max_filesize 所上传的文件的最大大小。默认值2M。

2、php.ini:memory_limit 本指令设定了一个脚本所能够申请到的最大内存字节数,默认值8M。如果不需要任何内存上的限制,必须将其设为 -1。如果内存不够,则可能出现错误:Fatal error: Allowed memory size of X bytes exhausted (tried to allocate Y bytes)(一般导入数据库时,如果数据库太大,就会报错,改这个就可以)

3、php.ini:post_max_size 设定POST数据所允许的最大大小。此设定也影响到文件上传。要上传大文件,该值必须大于 upload_max_filesize。

4、php.ini:max_execution_time = 30 ; Maximum execution time of each script, in seconds

5、php.ini:max_input_time = 60 ; Maximum amount of time each script may spend parsing request data

6、如果用到mysql的BLOB进行二进制文件存储,则需要设置my.ini:max_allowed_packet=xxM

7、httpd.conf
    在 Apache 里面有一个选项是 LimitRequestBody,这个选项可以限制用户送出的 HTTP 请求内容。这个选项可以在 .htaccess 或 httpd.conf 里使用,而如果在 httpd.conf 内使用,分别可以用在 virtualhost 或目录属性设定。而 LimitRequestBody 的设定值是介乎 0 (无限制) 至 2147483647 (2GB)。
例如要在目录 D:/AppServ/www 设定上传限制为 100K,可以在 .htaccess 或 httpd.conf 加入以下语句:


LimitRequestBody 1024000000
Options Indexes FollowSymLinks MultiViews ExecCGI
AllowOverride All
Order allow,deny
Allow from all
LimitRequestBody 1024000000
Options Indexes FollowSymLinks MultiViews ExecCGI
AllowOverride All
Order allow,deny
Allow from all
如果透过 .htaccess 设定,储存档案后会立即生效;如透过 httpd.conf 设定,须要重新启动 Apache。

PHP关于文件上传部分,特别提到表单隐藏域:MAX_FILE_SIZE,意思是接收文件的最大尺寸。文档中给出的例子如下:



<form enctype="multipart/form-data" action="_URL_" method="POST">
    <input type="hidden" name="MAX_FILE_SIZE" value="30000">
    Send this file: <input name="userfile" type="file">
    <input type="submit" value="Send File">
</form>
<form enctype="multipart/form-data" action="_URL_" method="POST">
    <input type="hidden" name="MAX_FILE_SIZE" value="30000">
    Send this file: <input name="userfile" type="file">
    <input type="submit" value="Send File">
</form>

这里设置MAX_FILE_SIZE = 30000,期待一种可能,使得浏览器在传送文件之前能够依此作出预先判断,如果文件尺寸大于30000字节,则不执行实际的POST动作。也就是不往服务器发送文件内容,而是直接在客户端提醒用户“你试图上传的文件超过30000字节”。
这的确是一个非常棒的主张,但在现实中却暂时无法实现。不是因为这个限制可以“被简单地绕过”,而是IE和FireFox这两个主流浏览器都不支持这个特性。PHP的这个建议尚未被采纳。

MAX_FILE_SIZE还有一个用场:后台PHP会判断接收到的文件大小是否大于这个值,如果超出,$_FILES['thisfile'] ['error']会被设置为UPLOAD_ERR_FORM_SIZE(2),同时放弃保存临时文件,将$_FILES['thisfile'] ['size']置0。
这个例子,没问题,表现正常,当我试图上传一个40多K的文件时,PHP程序报告“文件超过MAX_FILE_SIZE”。
但是,如果我们将表单中的MAX_FILE_SIZE从30000减少到1000,情形又如何呢?

上传800字节的文件,正常;
上传40K的文件,PHP报告文件过大,也正常;
上传3000个字节的文件,PHP未报告错误,它成功保存了文件!出乎意料!
问题就出在main/rfc1867.c中判断文件是否超长的这部分代码上。php每次从buffer中读取FILLUNIT字节长度的内容后,首先判断“已经读到的内容长度(total_bytes)”是否大于MAX_FILE_SIZE,然后再增加“已经读到的内容长度(total_bytes)”。这样一来,和预计的结果之间至多会有FILLUNIT 字节的误差,而FILLUNIT=1024*5=5K。(点击bug了解详细内容)
这就是说,当MAX_FILE_SIZE<5K时,上传一个大于MAX_FILE_SIZE,但是小于5K的文件是没有问题的。
当然,因为这个设置很容易被绕过,所以服务器端编程不应当依赖于MAX_FILE_SIZE。而且,5K到底是个很小的数值,对大多数上传文件的表单来说没有影响。

PHP中post_max_size,upload_max_filesize, MAX_FILE_SIZE的设置,和客户端上传给服务器端的流量大小无关。
Apache服务器从客户端接收长度不超过LimitRequestBody字节数的请求,然后传送给php模块,php模块再决定是否保存成临时文件,设置$_FILES全局变量,移交给script进一步处理。
这个Apache的LimitRequestBody选项缺省值=0,允许Request body的最大字节数是2G(Linux + Apache)

最后还要注意的是:
html本身能够post数据也是有限制的,不能超过2G。
FTP客户端有文件偏移指针的2GB边界限制,未使用特殊编译flag编译的ftp服务器端或者客户端,无论在什么FS中都不支持大于2GB的文件。不知道PHP会不会也有这种情况。



来自:http://www.kukaka.org/home/showonews/72