‘学习资料’栏目的所有文章
PHP初学者头痛的十四个问题
【1】页面之间无法传递变量 get,post,session在最新的php版本中自动全局变量是关闭的,所以要从上一页面取得提交过来得变量要使用$_GET['foo'],$_POST['foo'],$_SESSION['foo']来得到。当然也可以修改自动全局变量为开(php.ini改为register_globals = On);考虑到兼容性,还是强迫自己熟悉新的写法比较好。 【2】Win32下apache2 用get方法传递中文参数会出错: test.php?a=你好&b=你也好 传递参数是会导致一个内部错误 解决办法:”test.php?a=”.urlencode(你好).”&b=”.urlencode(你也好) …………. 【3】win32下的session不能正常工作 php.ini默认的session.save_path = /tmp 这显然是linux下的配置,win32下php无法读写session文件导致session无法使用,把它改成一个绝对路径就可以了,例如session.save_path = c:windows emp 【4】显示错误信息 当php.ini的display_errors = On并且error_reporting = E_ALL时,将显示所有的错误和提示,调试的时候最好打开以便纠错,如果你用以前php写法错误信息多半是关于未定义变量的。变量在赋值以前调用会有提示,解决办法是探测或者屏蔽。 例如显示$foo,可以if(isset($foo)) echo $foo 或者echo @$foo 【5】Win32下mail()不能发送电子邮件 在linux下配置好的sendmail可以发送,在win32下需要调用smtp服务器来发送电子邮件,修改php.ini的SMTP = ip //ip是不带验证功能的smtp服务器(网上很难找到) php发送邮件的最好解决方法是用socket直接发送到对方email服务器而不用转发服务器。 【6】初装的mysql如果没有设置密码,应该使用update mysql.user set password=”yourpassword” where user=”root” 修改密码 【7】header already sent 这个错误通常会在你使用HEADER的时候出现,他可能是几种原因:1,你在使用HEADER前PRING或者ECHO了2.你当前文件前面有空行3.你可能INCLUDE了一个文件,该文件尾部有空行或者输出也会出现这种错误。! 【8】更改php.ini后没有变化 重新启动web server,比如IIS,Apache等等,然后才会应用最新的设置。 【9】php在2003上面安装(ISAPI的安装方法恳请高手指教) PHP4的php4isapi.dll好像和2003有些冲突,只能用CGI模式安装 步骤一,先www.php.net [...]
Mysql错误代码
mysql的出错代码表,根据mysql的头文件mysql/include/mysqld_error.h整理而成 1005:创建表失败 1006:创建数据库失败 1007:数据库已存在,创建数据库失败 1008:数据库不存在,删除数据库失败 1009:不能删除数据库文件导致删除数据库失败 1010:不能删除数据目录导致删除数据库失败 1011:删除数据库文件失败 1012:不能读取系统表中的记录 1020:记录已被其他用户修改 1021:硬盘剩余空间不足,请加大硬盘可用空间 1022:关键字重复,更改记录失败 1023:关闭时发生错误 1024:读文件错误 1025:更改名字时发生错误 1026:写文件错误 1032:记录不存在 1036:数据表是只读的,不能对它进行修改 1037:系统内存不足,请重启数据库或重启服务器 1038:用于排序的内存不足,请增大排序缓冲区 1040:已到达数据库的最大连接数,请加大数据库可用连接数 1041:系统内存不足 1042:无效的主机名 1043:无效连接 1044:当前用户没有访问数据库的权限 1045:不能连接数据库,用户名或密码错误 1048:字段不能为空 1049:数据库不存在 1050:数据表已存在 1051:数据表不存在 1054:字段不存在 1065:无效的SQL语句,SQL语句为空 1081:不能建立Socket连接 1114:数据表已满,不能容纳任何记录 1116:打开的数据表太多 1129:数据库出现异常,请重启数据库 1130:连接数据库失败,没有连接数据库的权限 1133:数据库用户不存在 1141:当前用户无权访问数据库 1142:当前用户无权访问数据表 1143:当前用户无权访问数据表中的字段 1146:数据表不存在 1147:未定义用户对数据表的访问权限 1149:SQL语句语法错误 1158:网络错误,出现读错误,请检查网络连接状况 1159:网络错误,读超时,请检查网络连接状况 1160:网络错误,出现写错误,请检查网络连接状况 1161:网络错误,写超时,请检查网络连接状况 1062:字段值重复,入库失败 1169:字段值重复,更新记录失败 1177:打开数据表失败 1180:提交事务失败 1181:回滚事务失败 1203:当前用户和数据库建立的连接已到达数据库的最大连接数,请增大可用的数据库连接数或重启数据库 1205:加锁超时 [...]
Google新鲜技巧玩法你听说过吗?
1.搜索在线摄像头监视站点 在Google中输入“inurl:”ViewerFrame?Mode=””或者“inurl:”MultiCameraFrame?Mode=””、“inurl:”view/index.shtml””(输入时不带外面的双引号,在英文状态下输入),你会获得无数个未经加密的网络摄像机监视到的画面。无聊的时候玩玩,可以满足一下我们的好奇心。此外,打开这个站点:www.opentopia.com/hiddencam.php,在“from”中选择“China”,你还可以看到国内的某处网络摄像机画面。 2.让Google搜索结果在新窗口中打开 默认情况下Google的搜索结果跟百度等搜索引擎不一样,它是直接在当前网页中打开搜索结果,这对我们的使用会感到不方便,其实我们可以通过设置来达到目的。打开Google后,选择“使用偏好”链接,在打开页面的“结果视窗”中勾选“开启新视窗以显示查询结果。”一项,单击“存储偏好设置”按钮即可 3.比较两个关键词在Google中搜索结果数量 想知道克里和布什谁更火?那就比较一下Google的搜索结果数量就知道了。打开www.googlefight.com/,在“Keyword #1”和“Keyword #2”中分别输入“克里”和“布什”,单击“Make a fight!”按钮即可看到他们各自的结果。笔者试过,克里有741000个搜索结果,布什有4020000个搜索结果,布什获胜! 4.让Google来告诉去哪儿旅游 想好去哪儿旅游了吗?问问Google吧。打开douweosinga.com/projects/besttimetovisit站点,在“Enter the name of destination”栏中输入你想要去的城市名字,比如“北京”,点击“Go”即可获得结果。 5.有趣的关键字 在Google中输入“_*_”这个关键字,不管你是“搜索所有网页”还是“仅搜索中文网页”,你都只能搜索到一大堆中文页面。想明白这是为什么吗?到blog.outer-court.com/forum/5066.html去看看就知道了,原来这是ASCII字符和Google之间的矛盾。 6.中英文字典 这项中(英)文单词翻译服务是由DrEye译典通网站所提供的,其查询格式为:“fy+中(英)文单词”(实际操作时,请勿输入+号和“”号)。例如:Google搜索框中输入fy innocent后,Google就会在搜索结果页面的最上方显示出“innocent的中文翻译”链接,点击它,你就能查到该单词的中文意思了。另外,假如我们要翻译“无辜”这个词语的话,那只要输入fy 无辜这样的格式就行了,Google会直接显示其所对应的英文单词,点下方的“Dr.eye线上字典”链接,保证你还能查到更多的内容。如果手边没有翻译软件,Google提供的单词翻译服务就显得很便利。 7.天气查询 其查询格式为:“tq+城市名称”,例如输入 tq 北京,再点击搜索结果页面上方的“北京天气预报”链接后,你就能在t7online网站上查询到北京今后3天内的天气状况了。 8.查询邮编或长途区号 虽然现在网络已非常发达,但偶尔也难免要写封信,打个电话,这时此项功能就能帮上忙了。查询格式为:“yb+城市名称”或“qh+城市名称”,借助此命令,我们还可以输入相应的邮编或长途区号,反向查询到城市名称。不过,经过笔者的试用,发现Google所收录的邮编和长途区号的信息还十分不完整,有待于补充改进。 9.股票查询 其查询格式为:“gp+股票名称或代码”,如:gp 宝钢股份或gp 600019,其数据是由新浪财经提供的。 10.查询手机号码归属地 直接输入移动或联通的手机号码后,通过相应链接,你就能知道该号码的所属省份、所属城市和手机卡类型等信息,十分方便。
Trojan.BlueFire.B ——蓝色火焰木马清除方法
木马蓝色火焰 全名是:Trojan.BlueFire.B Trojan.BlueFire.B是一个黑客程序,运行后复制两份放在系统目录(如:c:\windows\system)下, 名为tasksvc.exe和sysexpl.exe,并在注册表的HKEY_LOCAL_MACHINE\Software\Microsoft\windows\CurrentVersion\run键值添加一项指向tasksvc.exe文件,使系统启动时, 黑客程序自运行。改动HKEY_CLASSES_ROOT\txtfile\shell\open\command默认值为sysexpl.exe, 使每次打开txt文件时自动运行. 此类木马为dll类型木马,因此我在安全模式下删除了windows/system32/下的 fbhook.dll,但一开机该死的fbhook.dll又出现了,因此可以得出,它肯定在注册表中做 了手脚,打开注册表Regedit 点击目录至: : HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run 发现有“C:\\windows\\system32\\ tasksvc.exe” 将之删除,再删除C:\\windows\\system32\\ tasksvc.exe 到安全模式下将windows/system32/下的fbhook.dll删除. 右击任意一个文本文件,发现在打开方式中出现了一个win32 network interface service process方式,在注册表中查找之,发现它还指向一个windows\\system32\\sysexpl.EXE 将之删除。 svchovst.EXE C:\WINDOWS\svchovst.EXE /svchovst:Kernel32.Dll
ros routeros限速和限线程脚本
限线程脚本: :for aaa from 2 to 254 do={/ip firewall filter add chain=forward src-address=(192.168.0. . $aaa) protocol=tcp connection-limit=50,32 action=drop} 限速脚本: :for aaa from 2 to 254 do={/queue simple add name=(queue . $aaa) dst-address=(192.168.0. . $aaa) limit-at=0/0 max-limit=2000000/2000000} 说明: 脚本为一行不是两行 aaa是变量 2 to 254是2~254 192.168.0. . $aaa是IP 上两句加起来是192.168.0.2~192.168.0.254的意思 connection-limit=50是线程数这里为50 max-limit=2000000/2000000是上行2m/下行2m 使用: WinBox-System-Scripts-+ Name(脚本名程) Source(脚本) OK-选择要运行的脚本-Run Script 查看规则是否填加进来: [...]
Router OS 的详细的设置方法
现在能够使用的routeos版本只有2.7.14了,因为只有这个有算号器,新版的2.8由于算法改变,目前还没有新的算号器出来。 Routeos的发行版本有光盘版及软盘版(9张),但是在vmware或vpc之下,这些盘均不能正常读取,所以本人在介绍安装过程的时候只有使用文本方式,就不附图了。 首先将下载的光盘镜像或安装软盘制作成盘,在cmos中设置好启动顺序后从光盘或软盘启动。第一步安装程序会让你选择需要安装的组件,选择好后按i开始安装,然后一路按y即可完成。 安装完成后第一次进入会要求输入注册码,这时使用算号器,在算号器上面一栏输入机器码即可得到注册码(注意输入的大小写)。第一次进入的默认帐号为:admin,密码为空。 基本的设置:(以下本人以telnet及该路由自带的winbox来说明) 1、设置网卡(这一步需要在本机执行,不设置好ip则telnet等工具是无法使用的) 输入set设置网卡,在enable interface这行输入网卡名称(第一次可以用ether1或ether2等代表第一张及第二张网卡);在ip address这行输入该网卡ip(可以为一张网卡绑定多个ip);在netmask这行输入子网掩码。 routeos一个强大的地方在于其可以使用多张网卡,而且可以自由地将这些网卡指定为不同的网段(无论是外网还是内网) 所有网卡set完以后,就可以用telnet登录这个路由了,或者你也可以使用http://路由ip来访问该路由,在这个路由自带网页上带了一个叫做winbox的工具,可以用这个工具来访问路由。 winbox的样子如图 设置好网卡ip的routeos还是不能让局域网的机器上网的,要使局域网机器上网还需要设置ip欺骗。 设置ip欺骗可以使用以下两句:/ip firewall src-nat add action masquerade /ip firewall mangle add protocol tcp tcp-options syn-only tcp-mss 1448 配置路由使用以下语句:/ip route add dst 0.0.0.0/0 gat 公网网关ip配置adsl线路使用以下语句:/interface pppoe-client add name 随意 service 服务器名(随意) [...]
routeros在网通、电信双线路的应用实例
首先定义了4个网络接口,分别连接 cnc–连接中国网通的线路 ctc–连接中国电信的线路 lan–连接局域网 server–连接服务器 [admin@MikroTik] interface> pr Flags: X - disabled, D - dynamic, R - running # NAME TYPE RX-RATE TX-RATE MTU 0 R server ether 0 0 1500 1 R ctc ether 0 0 1500 2 R cnc ether 0 0 1500 3 R lan ether 0 0 1500 然后为这些端口指定ip,网通分到了两个ip:a.a.a.1,a.a.a.2;电信分到了3个ip: b.b.b.1,b.b.b.2,b.b.b.3 局域网使用192.168.0.0/24,lan口ip定义为192.168.0.100,server口使用 192.168.100.0/24,ip为192.168.100.1 [admin@MikroTik] ip address> pr Flags: X - disabled, I - invalid, D - dynamic # ADDRESS NETWORK BROADCAST INTERFACE 0 192.168.0.100/24 192.168.0.0 192.168.0.255 lan 1 a.a.a.1/29 cnc 2 b.b.b.1/25 ctc 3 192.168.100.1/24 192.168.100.0 192.168.100.255 server 4 a.a.a.2/29 cnc 5 b.b.b.2/25 ctc 6 b.b.b.3/25 ctc 网通和电信存在互联互通的问题,所以这里默认使用电信的线路,在访问网通的线路 时,使用网通的线路。全部的路由表论坛的帖子里有 [admin@MikroTik] ip route> pr Flags: X - disabled, I - invalid, D - dynamic, J - rejected, C - connect, S - static, r - rip, o - ospf, b - bgp # DST-ADDRESS G GATEWAY DISTANCE INTERFACE 0 S 0.0.0.0/0 r 电信的网关 1 ctc 1 S 60.0.0.0/13 r 网通的网关 1 cnc 2 S 60.8.0.0/15 r 网通的网关 1 cnc 3 S 60.10.0.0/16 r 网通的网关 1 cnc 下面略….. 建立1个DNS缓存,分别设置一个电信、网通的DNS ,内网的机器dns设置为ros的ip 192.168.0.0/24访问internet上的网通线路用a.a.a.1,访问internet上的电信线路 和为指定用b.b.b.1 192.168.100.0/24访问internet上的网通线路用a.a.a.2,访问internet上的电信线 路和为指定用b.b.b.2 [admin@MikroTik] ip firewall src-nat> pr Flags: X - disabled, I - invalid, D - dynamic 0 src-address=192.168.100.0/24 out-interface=cnc action=nat to-src- address=a.a.a.2 1 src-address=192.168.100.0/24 out-interface=ctc action=nat to-src- address=b.b.b.2 2 src-address=192.168.0.0/24 out-interface=ctc action=nat to-src- address=b.b.b.1 3 src-address=192.168.0.0/24 out-interface=cnc action=nat to-src- address=a.a.a.1 这里192.168.100.0/24基本上都是用来做服务器的,然后映射到外网。 [admin@MikroTik] ip firewall dst-nat> pr Flags: X - disabled, I - invalid, D - dynamic [...]
RouterOS 常用命令
/sy reset 恢复路由原始状态 /sy reboot 重启路由 /sy showdown 关机 /sy ide set /export 查看配置 /ip export 查看IP配置 /sy backup 回车 save > LOAD > /interface print 查看网卡状态 0 X ether1 ether 1500 这个是网卡没有开启 0 R ether1 ether 1500 这个是正常状态 /int en 0 激活0网卡 /int di 0 禁掉0网卡 /ip fir con print 查看当前所有网络边接 /ip service set www port=81 改变www服务端口为81 /ip hotspot user add password=1 增加用户 [...]
王志东:农村包围城市与长尾的主心骨
几周前在一个业内聚会上遇到老朋友姜奇平,大家谈起了“长尾战略”。他问我对长尾战略的看法,我说,其实长尾并不是Web 2.0的专利,甚至也不是高科技行业的专利。作为战略已经有很多成功案例了,毛主席农村包围城市战略其实就是长尾的经典。没想到这一句话让姜奇平大为感慨,非要我在他的新书里写个推荐。 所谓“长尾理论”这个词语最早是随着Web 2.0概念同时被大家提及的,并且和“用户产生内容(UGC)”、“去中心化”一道成为Web 2.0的三大特征。也正因如此,当Web 2.0的投资热潮似乎正在退下的时候,长尾也就从一些时髦人士的词典里悄然消失。然而,也有一些人士还在坚持去探讨一些时髦概念背后的本质。在今年年初的一次中国企业家论坛的午餐会上,吕本富发表有关长尾理论的演讲,引发了大家很热烈的讨论。这次,姜奇平出书并把长尾定位成“战略”,是非常有深度的。 长尾理论其实是针对著名的“2/8法则”而提出来的。2/8法则讲,80%的价值往往集中在20%的主体里。2/8法则从被提出以来一直得到非常广泛的应用,并且至今基本上也是正确的。例如,我们处理问题时应该抓大放小、销售时应该关注重点的客户等等,都是2/8法则的体现。然而,事情似乎也不是那么简单。比如我们钓鱼时都希望能钓到大鱼,因为一条大鱼完全有可能是四条小鱼加起来的重量的四倍——如果恰好这样的话,这就是最最经典的2/8法则了,但是如果我们改用鱼网呢?一条大鱼与一网小鱼哪一个更具价值?再比如说,“捡了芝麻丢了西瓜”是嘲笑不懂2/8法则的,然而,如果捡了一大袋芝麻丢了一个西瓜呢? 我们还可以看到更多的例子: -共产党打天下(解放全中国),按2/8法则,首先应该攻打大城市。试过,但失败了。后来毛主席提出农村包围城市的战略,成功了; -作为软件公司,按2/8法则应该重点关注大客户,特别是那些大型企业的应用系统。IBM、Oracle、EPR等等都是这样做的,他们成功了。然而Microsoft却把关注点放到桌面上,重点占领的是低价值(单价)的个人软件,他也成功了,而且比前者更成功; -你要做一个超级网站,向用户提供互联网上的内容。按2/8法则,应该把重点放到象门户网站这样的大型网站上,至少应该是各种优质网站上。Lycos、Alta Vista、Excite是这样做的,所以把网站分类作为重点,后来做不下去了。而Google、百度却把重点放到互联网上的所有网页上,让用户从搜索网站改为搜索网页内容,成功了; -你要做一个消费市场的产品,一定希望找到最具消费能力的消费者,而忽视那些较低收的人群,很多分析师与管理专家都是这样说的,新浪网当初也是这样做的,也成功了。但到了今天,我们发现把自己的用户群定位在人均月消费只有几十块钱的超低端消费者的QQ,取得更大的成功; - …… 从上面的例子我们可以看到了,长尾不仅仅是一个现象、一类效应,更是一种有效的战略;长尾不是让你放弃主流,而是告诉你应该挖掘那些被2/8法则所忽视的资源,让那些占具总量80%的主体发挥出100%的价值;长尾并没有推翻2/8法则,在长尾战略的实施过程中还需要经常运用2/8法则,但长尾战略的确让我们突破了2/8法则的盲点;长尾战略首先让长尾受益,然而长尾往往并不是战略的目标,长尾最终是可以成就大事业的。 既然长尾理论不是一个很艰深的科学,不是一个我们只是知道却没机会运用的概念,那么我们就该想想如何让长尾理论真正的发扬光大?举个例子来说,今年是猪年,我们就拿猪尾巴来解剖一下,记得有一首流行歌是这样唱的“ !你的尾巴是卷又卷,原来跑跑跳跳还离不开它。” 猪尾巴之所以能够舞动起来,就我看来,得益于猪尾巴里的一根主心骨,因为有那一根骨头,才能够指挥着猪尾巴甩来甩去。那么长尾呢?同理,长尾是由很多的细胞组织起来的,要想长尾上的各个细胞都能够听从指挥,发挥出巨大的效用,我们要做的首要任务就是找到长尾里的那根主心骨——如何挖掘长尾价值既经济又有效的办法,才能让长尾理论真正得到运用。 技术创新存在这个可能性,技术的价值在于它能够让一些畅想、一些想象能变成可能。互联网是实现长尾价值的最有效的技术,并且在互联网上有更多的技术能够实现、体验长尾的价值。如何聚合互联网中的长尾资源,例如用户资源、商业模式资源呢,这就得靠技术了,比如P2P技术就是聚合网络上各种计算资源的,它能够把互联网上的所有联网计算机的CPU、内存、带宽、存储很好的聚合起来。所以P2P技术是实现长尾价值非常有效的技术。如何去关注最终的用户即个人用户?如何去整合、聚合中小型网站?这些都是聚合长尾资源的最重要的思路。 什么时候长尾能够创造最大的价值呢?就在于长尾的平台。比如Google、eBay、阿里巴巴,它都是做为长尾资源进行聚合和发挥它价值的平台,这样的平台在商业上蕴含了巨大的商业价值,我们把这个也叫做长尾的主心骨。只要有了长尾的主心骨就可以让长尾舞动起来。通过这个平台能够把互联网上的中小企业和个体用户真正聚合起来。而点击现在推出的Lava-Lava就是一个开放的平台,通过联盟的方式就是OEM战略来实现这个长尾平台——向广大互联网的用户和互联网的服务商提供即时通讯和社区应用的平台,通过基于这个平台的联盟来实现多方的共赢。 所以我认为,技术创新就是长尾的主心骨,只有找到创新点:P2P技术也好,平台也罢,或者其他更好更准确的聚合长尾所需要的资源的方法,才能够真正的让长尾舞动起来,才能够让企业立于不败之地。
Apache中的 .htaccess文件使用手册
.htaccess文件提供了针对目录改变配置的方法。 * .htaccess文件 * 工作原理和使用方法 * 使用.htaccess文件的场合 * 指令的生效 * 认证举例 * 服务器端包含举例 * CGI举例 * 疑难解答 top .htaccess文件 相关模块 相关指令 * core * mod_auth * mod_cgi * mod_include * mod_mime * AccessFileName * AllowOverride * Options * AddHandler * SetHandler * AuthType * AuthName * AuthUserFile * AuthGroupFile * Require top 工作原理和使用方法 .htaccess文件(或者”分布式配置文件”)提供了针对目录改变配置的方法, 即,在一个特定的文档目录中放置一个包含一个或多个指令的文件, [...]