<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>寂静的深海 &#187; 日积月累</title>
	<atom:link href="http://www.deepseath.com/?cat=6&#038;feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.deepseath.com</link>
	<description></description>
	<lastBuildDate>Mon, 29 Jan 2024 09:55:11 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>windows下php5.6启用opcache</title>
		<link>http://www.deepseath.com/?p=1192</link>
		<comments>http://www.deepseath.com/?p=1192#comments</comments>
		<pubDate>Tue, 01 Dec 2015 02:54:26 +0000</pubDate>
		<dc:creator>Deepseath</dc:creator>
				<category><![CDATA[日积月累]]></category>

		<guid isPermaLink="false">http://www.deepseath.com/?p=1192</guid>
		<description><![CDATA[最近几天一直帮朋友配置服务器，考虑只部署wordpress，为了性能原因直接上了到目前位置最新的稳定版 php 5.6.16 ，搭建 apache 2.4.17 + php 5.6.16。 部署安装配置都很简单也很顺利，唯独就是启用opcache折腾了很多时间。死活opcache就是无法开启，然后php启动也无报错信息。 最初的做法以为opcache是内置了，只需要在php.ini中启用就可以了，如下： opcache.enable=1 opcache.enable_cli=1 结果重启apache后，发现opcache根本未加载，各种折腾也不行。 最后到看了下官方文档：http://php.net/manual/zh/opcache.installation.php，发现这段： PHP 5.5.0 及后续版本 OPcache 只能编译为共享扩展。 如果你使用 &#8211;disable-all 参数 禁用了默认扩展的构建， 那么必须使用 &#8211;enable-opcache 选项来开启 OPcache。 编译之后，就可以使用 zend_extension 指令来将 OPcache 扩展加载到 PHP 中。在非 Windows 平台使用zend_extension=/full/path/to/opcache.so， Windows 平台使用 zend_extension=C:\path\to\php_opcache.dll。 看来真是个坑啊，虽然内置了，但并未加载.dll文件。因此，在php.ini的[opcache]下一行加入（具体php_opcache.dll路径根据实际情况）： zend_extension=C:\php\ext\php_opcache.dll 重启apache后即可。 要说明的是，windows下无论apache还是iis做web服务都要这么做。]]></description>
		<wfw:commentRss>http://www.deepseath.com/?feed=rss2&#038;p=1192</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>关于跨域Cors</title>
		<link>http://www.deepseath.com/?p=1184</link>
		<comments>http://www.deepseath.com/?p=1184#comments</comments>
		<pubDate>Mon, 08 Jun 2015 13:15:06 +0000</pubDate>
		<dc:creator>Deepseath</dc:creator>
				<category><![CDATA[日积月累]]></category>

		<guid isPermaLink="false">http://www.deepseath.com/?p=1184</guid>
		<description><![CDATA[除了常规的jsonP等方式，还可以使用server+client方式。 server：（下面代码是为调试方便来写的，实际环境下必须设置指定的域，否则会引起安全问题！） if (isset($_SERVER['HTTP_REFERER'])) { $url_parse = parse_url($_SERVER['HTTP_REFERER']); $port = ''; if (isset($url_parse['port']) &#38;&#38; $url_parse['port'] != 80) { $port = ':'.$url_parse['port']; } @header("Access-Control-Allow-Origin: ".$url_parse['scheme'].'://'.$url_parse['host'].$port); } @header("Access-Control-Allow-Credentials: true"); client： jQuery jQuery.ajax({ "url": "/", "dataType": "json", "success": function (data) { console.log(data); }, "xhrFields": { "withCredentials": true } });]]></description>
		<wfw:commentRss>http://www.deepseath.com/?feed=rss2&#038;p=1184</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[ERROR] Can&#8217;t open shared library &#8216;udf.dll&#8217; (errno: 0 )</title>
		<link>http://www.deepseath.com/?p=1161</link>
		<comments>http://www.deepseath.com/?p=1161#comments</comments>
		<pubDate>Tue, 10 Dec 2013 16:05:04 +0000</pubDate>
		<dc:creator>Deepseath</dc:creator>
				<category><![CDATA[日积月累]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[升级]]></category>
		<category><![CDATA[数据库]]></category>
		<category><![CDATA[服务器]]></category>

		<guid isPermaLink="false">http://www.deepseath.com/?p=1161</guid>
		<description><![CDATA[有3个多月没写博客了，现在似乎越来越懒了:( 今天竟然忘记了登录密码，幸好，输入几次终于想起来了…… 如标题，[ERROR] Can&#8217;t open shared library &#8216;udf.dll&#8217; (errno: 0 ) 这是MySQL在启动时报的一个错误，在一个朋友的服务器上看到的，这个错误几乎已经持续了很久很久了，虽然报错，但似乎不影响使用，只不过，对于一个很洁癖的人来说，每次看到都很闹心。 之前曾经尝试过查找原因，包括建立plugin目录，以及遍历整个系统来查找udf.dll，都没什么结果。 也在谷歌和度娘上找过，说是什么提权文件，实话说，用了这么多年还真从来没听过这个功能……也按搜索到的文章操作过，但全部都是失败。 最后，考虑到可以尝试升级一下MySQL的版本（之前是5.0很早期的一个版本），由于系统还有很多不太熟悉的程序，所以为了考虑稳定性，所以只是升级到MySQL5.0的最后一个版本。 升级很简单，轻车熟路，一贯是我最懒人的做法： 1.由于想重新使用mysql的配置向导来配置my.ini所以，先将mysql的服务删除掉，命令行执行，mysqld-nt &#8211;remove即可。 2.不改变mysql的安装目录，因此，只需要将原来的安装目录改个名就行（权当备份了） 3.执行mysql安装程序，安装到之前的目录下。 4.执行mysql的配置向导，进行my.ini的配置。 5.手动打开my.ini，修改数据库文件储存目录变量“datadir”，修改为之前的数据库储存位置 6.重启mysql 升级操作就算完毕了，原来的帐号都可以继续使用，其他无须做什么改变。 回头再来看系统日志，发现一个很奇怪的现象，就是刚升级完启动mysql的时候那个错误是没有的，但改完数据库储存目录后再重启那个错误又出现了。 看来，这个错误本身应该还是来自于mysql数据库，而且只能是mysql自身的数据库（数据库名：mysql）， 于是，关闭mysql。 尝试将旧的mysql系统数据库（数据库名为mysql），改成其他名字，将新的mysql默认的系统数据库copy过来。 同时将旧系统数据库内的user表文件（三个）都覆盖到新系统数据库内。 这时候再启动mysql就不会有错误提示了。 查看了一下旧系统数据库表，发现其中一个数据表（mysql\func）里存在一条记录： mysql&#62; select * from func; +-------+-----+---------+----------+ &#124; name &#124; ret &#124; dl &#124; type &#124; +-------+-----+---------+----------+ &#124; baker &#124; 0 &#124; udf.dll &#124; function [...]]]></description>
		<wfw:commentRss>http://www.deepseath.com/?feed=rss2&#038;p=1161</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>windows 2003安装PHP的FastCGI模式</title>
		<link>http://www.deepseath.com/?p=1156</link>
		<comments>http://www.deepseath.com/?p=1156#comments</comments>
		<pubDate>Fri, 06 Sep 2013 05:24:45 +0000</pubDate>
		<dc:creator>Deepseath</dc:creator>
				<category><![CDATA[日积月累]]></category>

		<guid isPermaLink="false">http://www.deepseath.com/?p=1156</guid>
		<description><![CDATA[以前一直使用sapi的方式来在windows服务器的iis上执行php，一直也是推荐这种方式，但自windows 2008以及高版本php开始后官方开始推荐fastcgi模式，自己内心比较排斥这种方式（没来由的）。 今天接到托管商要求用户访问记录端口留存（估计可能因为打击传谣而起的），才发现，运行在sapi模式下的php无法获取$_SERVER['REMOTE_PORT']变量。 没办法，只能更改运行方式了。 首先因为历史和时间原因，很多程序很老了，高版本的php可能有兼容问题，因此还是使用php5.2版本。 先是安装IIS6的FCGI组件，在 http://www.iis.net/download/fastcgi 进行下载，直接安装就可以。 其次是安装PHP，在 http://windows.php.net/download/ 找到对应版本 我推荐安装php不要将任何文件放到非php目录（比如dll文件，比如php.ini文件等），这样做主要是为了保证未来升级的方便性。 一般我是这样做： 1.先指定php.ini 以及 php的安装路径。可以看一下这里 http://www.deepseath.com/?p=1059 2.确保安装了 VC 库，在早期版本php可能没问题，但还是推荐安装 参看 http://www.deepseath.com/?p=858 PHP的相关配置根据自己需要进行配置就可以，没特别的硬性要求。 大体上配置： 1。extension_dir 目录 2。修改默认的时区 安装后，主要是检查iis的“Web服务扩展”是否有“FastCGI Handler”且允许状态。并且配置php的执行文件为：C:\WINDOWS\system32\inetsrv\fcgiext.dll 最后修改一下fastcgi的配置文件：C:\WINDOWS\system32\inetsrv\fcgiext.ini 在最下面的[Types]后面加入： php=PHP [PHP] ExePath=php的安装路径\php-cgi.exe InstanceMaxRequests=10000 ;MaxInstances=64 EnvironmentVars=PHP_FCGI_MAX_REQUESTS:10000 RequestTimeout=30（默认是30，我推荐900或者3000） ActivityTimeout=30 如果需要也可以安装一个wincache，在 http://www.iis.net/download/WinCacheForPHP]]></description>
		<wfw:commentRss>http://www.deepseath.com/?feed=rss2&#038;p=1156</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>innerHTML的使用遇到的一个问题</title>
		<link>http://www.deepseath.com/?p=1137</link>
		<comments>http://www.deepseath.com/?p=1137#comments</comments>
		<pubDate>Fri, 05 Jul 2013 02:41:41 +0000</pubDate>
		<dc:creator>Deepseath</dc:creator>
				<category><![CDATA[日积月累]]></category>

		<guid isPermaLink="false">http://www.deepseath.com/?p=1137</guid>
		<description><![CDATA[在项目中涉及到一种场景：提交某个表单（id=source）后，利用ajax输出一个新的表单（id=target）并显示在一个id为A的容器内并自动提交。这是项目内一个在线支付的一个功能。 实现很简单，ajax提交id=source表单后，返回一个新表单id=target，然后利用innerHTML将新表单数据写入到id=A的容器内。 但在实际做的时候发生了一个意外，在firefox（22.0）内是没有错误的最终会跳转到target的表单自动提交，但在Chrome（29）无法不能运行点击提交表单id=source后无任何反应，在IE8提交时，会显示 此网页上的错误可能会使它无法正确运行。未知的运行时错误 折腾了快2小时，死活没发现什么端倪，想到之前项目内的其他一个类似的模块没什么问题，于是对照着找问题，最终发现，是因为id=A是放在表单id=source内的缘故。 &#60;form id="source"&#62; ...... &#60;div id="A"&#62;&#60;/div&#62; ...... &#60;/form&#62; 将容器A移除原始表单(id=source)就没问题了。 &#60;form id="source"&#62; ...... &#160; ...... &#60;/form&#62; &#60;div id="A"&#62;&#60;/div&#62; 这是为什么呢？原来很简单，因为ajax插入新表单后破坏了页面结构，导致form内嵌套form &#60;form id="source"&#62; …… &#60;div id="A"&#62;&#60;form id="target"&#62;&#60;/form&#62;&#60;/div&#62; …… &#60;/form&#62; 这样的结构当然是有问题的啦。 就此问题解决。 延展思路，举一反三，如果要使用innerHTML时新引入的结构一定要不能破坏原来的结构，否则就会出错。至于怎么叫“一定要不能破坏原来的结构”？很简单，就是把ajax过来的数据当成当前页面的一部分，看看它是否遵循规范就可以了。 &#160;]]></description>
		<wfw:commentRss>http://www.deepseath.com/?feed=rss2&#038;p=1137</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>程序的安全考量</title>
		<link>http://www.deepseath.com/?p=1110</link>
		<comments>http://www.deepseath.com/?p=1110#comments</comments>
		<pubDate>Tue, 16 Apr 2013 17:12:25 +0000</pubDate>
		<dc:creator>Deepseath</dc:creator>
				<category><![CDATA[日积月累]]></category>

		<guid isPermaLink="false">http://www.deepseath.com/?p=1110</guid>
		<description><![CDATA[上次帮朋友处理了被注入的一些后遗症：http://www.deepseath.com/?p=1107 今天再次被注入，而且那人竟然联系朋友说网站的目录权限做得真死，哈哈，这人真的是明目张胆，幸亏上次把很多目录权限写操作去掉了，否则更严重。 这次通过web日志彻底清查了一下具体的注入入口，找到了具体的程序，发现竟然是一个数组参数的键名未过滤导致的，加了过滤，测试了一下应该是堵上了。 感触颇深，再次说明，写代码，是反外来的数据都不要理所当然的认为它是安全的，参数尽量保持一个类型，引入的时候判断类型甚至字符集是否合法，然后再进行字符过滤，虽然麻烦了点，但起码不会被日后的注入所烦恼。 有时候一个小疏忽可能就会被人利用。 关于外来参数，早两年自己就不再接受全局变量了，一个程序只接受它需要的参数，所有变量都尽可能的事先进行声明，临时的变量用完后尽量马上销毁，外来的参数要尽可能的明确类型，严格检查它的类型是否合法，如果可能也可以再进一步判断字符集是否同网站的一致，不一致的也不接受。这样做不一定能保证完全绝对的安全，起码感觉漏洞暴漏的相对会少一些。]]></description>
		<wfw:commentRss>http://www.deepseath.com/?feed=rss2&#038;p=1110</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>网站目录安全的一些小总结</title>
		<link>http://www.deepseath.com/?p=1107</link>
		<comments>http://www.deepseath.com/?p=1107#comments</comments>
		<pubDate>Fri, 12 Apr 2013 02:46:37 +0000</pubDate>
		<dc:creator>Deepseath</dc:creator>
				<category><![CDATA[日积月累]]></category>

		<guid isPermaLink="false">http://www.deepseath.com/?p=1107</guid>
		<description><![CDATA[今天帮朋友处理了一个挂马的问题，除了开发代码的一些必要安全外，程序部署、web目录架构方面还有一些总结。 这里只是说程序部署和web目录架构权限安排方面的，不涉及纯粹代码安全问题，那是另外的一个话题。 1.程序部署上尽量不要对根目录进行操作（比如，建立目录什么的） 2.将引用文件和可直接执行文件分开放置，只对可直接执行文件有运行脚本权限，对于引用文件所在的路径禁止web可读写。 3.只对专门的目录进行写操作，其他一律禁止写操作。 4.无关web可访问的目录都禁止读取。 5.web目录设定时尽量别太懒惰，给予不同站点不同目录分别设置web用户，一个站点只有一个web用户，只对这个web用户进行权限分配。 基本上，如果能确保这些，我想网站起码在文件注入上能够最大的避免出问题。]]></description>
		<wfw:commentRss>http://www.deepseath.com/?feed=rss2&#038;p=1107</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>VisualSVN Server设置同步服务</title>
		<link>http://www.deepseath.com/?p=1103</link>
		<comments>http://www.deepseath.com/?p=1103#comments</comments>
		<pubDate>Sun, 07 Apr 2013 10:26:51 +0000</pubDate>
		<dc:creator>Deepseath</dc:creator>
				<category><![CDATA[日积月累]]></category>

		<guid isPermaLink="false">http://www.deepseath.com/?p=1103</guid>
		<description><![CDATA[做web开发为了随时能了解和看到和测试程序发布后的效果，之前是开发的时候多数情况下是svn提交完后，再FTP提交，麻烦费事，就想着将SVN提交后自动将数据同步到测试目录下，然后随时让团队其他人看到效果。 查看了一下svn的命令，写了一个post-commit钩子脚本，发现不行，然后搜了下其他人的，多数都是这么写钩子： @echo off “C:\visualSVN\VisualSVN Server\bin\svn.exe” update “D:\webHost” –username svn –password 000000 但实际运行的时候发现是不行的，必须要将svn设置为非安全链接http，才可以，否则始终会提示类似 svn: E175002: OPTIONS of &#8216;https://xxxxxxx: Server certificate verification failed: issuer is not trusted (https://xxxxx) 这样的错误提示，在这之前还有其他类似的错误，但基本属于权限问题，一般将visualsvn的启动用户设置一下权限就可以了。 这个错误始终搞不定，看过有人说是通过缓存什么的（http://my.oschina.net/bufenye/blog/58264）（3楼），但实际做起来还是不行，后来考虑svn应该有类似的命令能解决这样的问题的， 使用：svn help update 会输出关于update命令的参数帮助： Valid options: -r [--revision] ARG : ARG (some commands also take ARG1:ARG2 range) A revision argument can be one of: NUMBER revision number [...]]]></description>
		<wfw:commentRss>http://www.deepseath.com/?feed=rss2&#038;p=1103</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>联通宽带避免跳出垃圾页面（www.tao123.com）的解决</title>
		<link>http://www.deepseath.com/?p=1086</link>
		<comments>http://www.deepseath.com/?p=1086#comments</comments>
		<pubDate>Fri, 21 Sep 2012 13:20:30 +0000</pubDate>
		<dc:creator>Deepseath</dc:creator>
				<category><![CDATA[日积月累]]></category>
		<category><![CDATA[DNS]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[浏览器]]></category>

		<guid isPermaLink="false">http://www.deepseath.com/?p=1086</guid>
		<description><![CDATA[首先说联通宽带真的很垃圾，花钱用宽带，然后被强迫看广告。 最近有时候访问一些域名的时候发现总是会被重定向到一个域名为：www.tao123.com 的垃圾网址，开始不以为然，但偶尔总是如此就真的很烦了。 下决心找到是怎么回事，开始以为是浏览器被恶意植入了插件，但查遍注册表以及文件也未发现什么异样，可还是不太确信，又使用360和腾讯的电脑管家都查了一遍还是没问题。 后来决定抓数据包检查，结果就发现猫腻了。 原来，卑劣的联通先判断你所访问的域名DNS是否存在（或者有效），如果是错的，那么就会返回一个页面（如下图） 页面会随机重定向到类似：tjdnserror2.wo.com.cn的域名端口是8080，（tjdnserror*.wo.com.cn，*是一个随机的数字，目前只发现有2或者3的情况） 然后这个tjdnserror2.wo.com.cn:8080就会跳转到垃圾的联通自定的一个网站（卖广告？骗流量？）：www.tao123.com 其实很容易就可以搞定，就是把tjdnserror*.wo.com.cn通过本地DNS解析到其他ip（本机或者一个不存在的ip）。 Windows，修改：c:\WINDOWS\system32\drivers\etc\hosts （这个文件有可能是只读的或者被某些安全软件保护着，暂时解除保护 或者 使用其他第三方工具修改就行。） 加入： 127.0.0.1 tjdnserror.wo.com.cn 127.0.0.1 tjdnserror1.wo.com.cn 127.0.0.1 tjdnserror2.wo.com.cn 127.0.0.1 tjdnserror3.wo.com.cn 127.0.0.1 tjdnserror4.wo.com.cn 127.0.0.1 tjdnserror5.wo.com.cn 127.0.0.1 tjdnserror6.wo.com.cn 127.0.0.1 tjdnserror7.wo.com.cn 127.0.0.1 tjdnserror8.wo.com.cn 就可以了。 再次谴责运营商，用户消费购买的是你的网络服务，而不是买你的广告！！！你妈的！！！]]></description>
		<wfw:commentRss>http://www.deepseath.com/?feed=rss2&#038;p=1086</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>font-family：中文字体的英文名称</title>
		<link>http://www.deepseath.com/?p=1084</link>
		<comments>http://www.deepseath.com/?p=1084#comments</comments>
		<pubDate>Thu, 13 Sep 2012 08:50:25 +0000</pubDate>
		<dc:creator>Deepseath</dc:creator>
				<category><![CDATA[日积月累]]></category>
		<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://www.deepseath.com/?p=1084</guid>
		<description><![CDATA[宋体* SimSun 黑体* SimHei 微软雅黑* Microsoft YaHei 微软正黑体 Microsoft JhengHei 新宋体 NSimSun 新细明体 PMingLiU 细明体 MingLiU 标楷体 DFKai-SB 仿宋 FangSong 楷体 KaiTi 仿宋_GB2312 F angSong_GB2312 楷体_GB2312 K aiTi_GB2312 css 中中文字体（font-family）的英文名称 Mac OS 的一些： 华文细黑：STHeiti Light [STXihei] 华文黑体：STHeiti 华文楷体：STKaiti 华文宋体：STSong 华文仿宋：STFangsong 儷黑 Pro：LiHei Pro Medium 儷宋 Pro：LiSong Pro Light 標楷體：BiauKai 蘋果儷中黑：Apple LiGothic Medium 蘋果儷細宋：Apple LiSung Light [...]]]></description>
		<wfw:commentRss>http://www.deepseath.com/?feed=rss2&#038;p=1084</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL数据整理耗时备忘</title>
		<link>http://www.deepseath.com/?p=1074</link>
		<comments>http://www.deepseath.com/?p=1074#comments</comments>
		<pubDate>Tue, 22 May 2012 06:18:18 +0000</pubDate>
		<dc:creator>Deepseath</dc:creator>
				<category><![CDATA[日积月累]]></category>

		<guid isPermaLink="false">http://www.deepseath.com/?p=1074</guid>
		<description><![CDATA[今天帮一个好朋友整理MySQL数据库，由于数据量比较大（580W+）耗时比较长，记录一下未以后再次遇到时可以预估一下维护时间^_^ 当然时间也只是一个参考，不同服务器环境以及表的索引多少等等还是有一些差别的。 对容量为：126M的MyISAM表的主键进行 alter table ** order by key操作： Query OK, 589713 rows affected (40.78 sec) Records: 589713 Duplicates: 0 Warnings: 0 执行：Optimize，耗时：11.89s 对容量为：4.2G的MyISAM表的主键进行 alter table ** order by key操作： Query OK, 5873759 rows affected (28 min 27.70 sec) Records: 5873759 Duplicates: 0 Warnings: 0 执行：Optimize，耗时：57.89s 全部使用MySQL命令行方式。]]></description>
		<wfw:commentRss>http://www.deepseath.com/?feed=rss2&#038;p=1074</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[PHP]数组移除某个值的两种方式</title>
		<link>http://www.deepseath.com/?p=1071</link>
		<comments>http://www.deepseath.com/?p=1071#comments</comments>
		<pubDate>Sat, 17 Mar 2012 09:57:50 +0000</pubDate>
		<dc:creator>Deepseath</dc:creator>
				<category><![CDATA[日积月累]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[函数]]></category>

		<guid isPermaLink="false">http://www.deepseath.com/?p=1071</guid>
		<description><![CDATA[php中从数组中移除某个值，可以有两种方式，一种是常规的遍历比值然后移除，另一种是利用array_diff函数。 先利用是利用遍历数组的方式写了个函数： function array_delete_value($array,$delete_value){ foreach ( $array AS $k=&#62;$v ) { if ( $v === $delete_value ) { unset($array[$k]); } } return $array; } 用法：array_delete_value(原数组,待移除的值); 两种方式的使用： 1.利用自定义函数： &#60;?php $del = ''; $t = 0; function array_delete_value($array,$delete_value){ foreach ( $array AS $k=&#62;$v ) { if ( $v === $delete_value ) { unset($array[$k]); } } return $array; [...]]]></description>
		<wfw:commentRss>http://www.deepseath.com/?feed=rss2&#038;p=1071</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Foxmail无法发送邮件的解决办法</title>
		<link>http://www.deepseath.com/?p=1067</link>
		<comments>http://www.deepseath.com/?p=1067#comments</comments>
		<pubDate>Fri, 09 Mar 2012 00:51:05 +0000</pubDate>
		<dc:creator>Deepseath</dc:creator>
				<category><![CDATA[日积月累]]></category>
		<category><![CDATA[foxmail]]></category>
		<category><![CDATA[服务器]]></category>

		<guid isPermaLink="false">http://www.deepseath.com/?p=1067</guid>
		<description><![CDATA[一直以来在客户端收发邮件都是使用Foxmail，用着比较舒服。目前还在使用6.5版的，虽然也装了7.0但还未使用，准备换操作系统后用。 最近用foxmail发邮件总失败，开始是用sohu的邮箱有问题，以为是连接SMTP服务器的问题或者foxmail设置有问题，搞了很久也不行，于是试图尝试给sohu邮箱客服发了纸条，结果，TMD，很久也没回复。 原本想放弃了的。 但今天试图用使用gmail发送邮件，竟然也不行，于是考虑，应该还是foxmail自身的问题。 想起来收邮件时有问题可以对收件箱进行一致性检查或者进行压缩。 于是尝试，对foxmail的发件箱-&#62;右键-&#62;属性，选择“压缩”，然后再检查“一致性”，一般这样做就可以正常发邮件了，如果还不行的话，再重复一遍这个操作，然后选择“工具”选项卡，点击“开始修复”，应该可以解决问题。 这个办法，仅针对你的foxmail的发信SMTP确定设置正确的情况下，才有效的，假如你的smtp本身设置就有问题那打死也发不了的，呵呵。 最明显的表征就是，明明昨天还可以发邮件，然后今天多次尝试怎么都发不了，那么估计就是你的发件箱出了问题，用我上面的办法就可以解决^_^]]></description>
		<wfw:commentRss>http://www.deepseath.com/?feed=rss2&#038;p=1067</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>PHP在Windows下的安装</title>
		<link>http://www.deepseath.com/?p=1059</link>
		<comments>http://www.deepseath.com/?p=1059#comments</comments>
		<pubDate>Wed, 08 Feb 2012 16:03:45 +0000</pubDate>
		<dc:creator>Deepseath</dc:creator>
				<category><![CDATA[日积月累]]></category>
		<category><![CDATA[IIS]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[服务器]]></category>

		<guid isPermaLink="false">http://www.deepseath.com/?p=1059</guid>
		<description><![CDATA[很久没在IIS6配置PHP了。因为服务器重装系统，今天配置了PHP。 我不习惯将PHP文件copy到系统目录内（system32），会导致日后升级比较麻烦。 PHP在IIS6下安装很简单，主要是读取指定的php.ini文件路径的设置问题。 我是通过注册表的IniFilePath来定义的，可以将下面的代码另存一个.reg文件，然后导入到注册表内。记得将C:\\PHP5改为实际的PHP存放目录。 Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\php] "IniFilePath"="C:\\php5" 另外，一定要将PHP存放路径加入到系统环境变量Path里面去。否则会导致无法加载dll扩展的情况发生。这一步我就给忘了，结果启动iis的时候总会弹出一个类似如下的警告： 弹出应用程序: Warning: PHP Startup: Unable to load dynamic library '*****\php_curl.dll' - 找不到指定的模块。 &#160;]]></description>
		<wfw:commentRss>http://www.deepseath.com/?feed=rss2&#038;p=1059</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL5.0升级到5.5</title>
		<link>http://www.deepseath.com/?p=1056</link>
		<comments>http://www.deepseath.com/?p=1056#comments</comments>
		<pubDate>Wed, 08 Feb 2012 15:43:27 +0000</pubDate>
		<dc:creator>Deepseath</dc:creator>
				<category><![CDATA[日积月累]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[代码]]></category>
		<category><![CDATA[升级]]></category>
		<category><![CDATA[数据库]]></category>
		<category><![CDATA[服务器]]></category>

		<guid isPermaLink="false">http://www.deepseath.com/?p=1056</guid>
		<description><![CDATA[服务器又出故障了，这次比较彻底——系统文件丢失:( 不得已重做了系统。 趁着这个重做系统，决定将MySQL自5.0升级到5.5。 先是安装MySQL，然后，配置my.ini，如果没特别需求的话，可以使用默认的就行，日后运行起来再根据具体情况进行优化。 关闭MySQL5.5。 将MySQL5.5默认安装的数据表进行备份（避免万一），然后将MySQL5.0的全部数据库文件直接Copy到MySQL5.5的数据库储存目录内。 此时如果你启动MySQL的话可能会看到类似 mysql.user has no `Event_priv` column at position 29 的错误（由于本文是在操作之后写的，具体的报错代码记的不是很清楚了……） 这是由于数据文件是MySQL5.0的，与标准的MySQL5.5数据文件格式不符，此时需要对数据进行升级操作。 先启动MySQL5.5 执行： mysql_upgrade 可能会有一些警告信息，可以忽略。 现在数据文件就升级完毕了，如果不太放心的话，可以执行： mysqlcheck -u root -p --databases [数据库名] 或者 mysqlcheck -u root -p --all-databases 检查具体的数据库文件状态。反正我全部执行了一下，没发现什么问题，MySQL5.5升级完毕^_^]]></description>
		<wfw:commentRss>http://www.deepseath.com/?feed=rss2&#038;p=1056</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>请不要随便使用wordpress后台的“自动升级”功能</title>
		<link>http://www.deepseath.com/?p=1023</link>
		<comments>http://www.deepseath.com/?p=1023#comments</comments>
		<pubDate>Mon, 14 Nov 2011 05:27:33 +0000</pubDate>
		<dc:creator>Deepseath</dc:creator>
				<category><![CDATA[日积月累]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[升级]]></category>
		<category><![CDATA[插件]]></category>

		<guid isPermaLink="false">http://www.deepseath.com/?p=1023</guid>
		<description><![CDATA[刚刚手欠，看到有一款插件提示升级，随手就点了“自动升级”，结果悲剧了，由于是远程连接国外站点，因此导致页面长期无法响应而出错，博客访问也是提示“正在执行例行维护，请一分钟后回来。” TNND，几分钟了还是如此，没办法，只能手动弄了。先是去数据库找对应有没有什么开关之类的，找了一会儿发现没有类似描述这个功能的，然后到博客目录文件发现根目录多出了一个“.maintenance”文件，删除之，问题解决。 唉，景德镇局域网内的童鞋们，最好别轻易的尝试wordpress后台内所有涉及“自动升级”或“更新”的，景德镇局域网连接互联网真的会让你奔溃滴~~ PS：刚刚手动下载了那个插件。容量215K，来自：downloads.wordpress.org，下载耗时：2分钟50秒，汗~~ &#160;]]></description>
		<wfw:commentRss>http://www.deepseath.com/?feed=rss2&#038;p=1023</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows2003计划任务实现服务器自动重启</title>
		<link>http://www.deepseath.com/?p=989</link>
		<comments>http://www.deepseath.com/?p=989#comments</comments>
		<pubDate>Thu, 29 Sep 2011 02:36:28 +0000</pubDate>
		<dc:creator>Deepseath</dc:creator>
				<category><![CDATA[日积月累]]></category>
		<category><![CDATA[HTTP]]></category>
		<category><![CDATA[IIS]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Win2003]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[服务器]]></category>
		<category><![CDATA[计划任务]]></category>

		<guid isPermaLink="false">http://www.deepseath.com/?p=989</guid>
		<description><![CDATA[最近服务器刚刚更换了一块新硬盘，同时也将PHP升级了一下，然后不知道什么原因（因为这两个维护导致的或是其他的）IIS运行PHP的站点每隔一阵就会无法访问，而静态页面的站点是可以访问的，最为奇怪的是，貌似每次发生这样的故障的间隔期间基本是差不多的，尝试检查了一下，没发现什么意外情况，连系统的日志以及IIS自身的日志都没有什么异常记录。同时也是比较懒得详细检查，所以干脆直接搞了定时重启服务器。 这绝对是一个非常非常非常懒惰的行为，可确实是没什么更好的办法了，如果有朋友能知道这是怎么个原因的话不妨告诉一下，千恩万谢！！！ 先搞定个Windows计划任务自动定时重启机器吧。关于设置Windows计划任务的操作本没什么技术含量本不想弄的，但刚巧前一阵还真有几个朋友问过这方面的操作的，看来有必要普及一下，呵呵。如果你比较熟悉Windows计划任务了，可以不用往下看了^_^ 首先，得确定一个访问量相对比较低的时段进行重启操作，根据若干的站点流量日志分析，基本上访问量比较低的时段几乎平均在每日的凌晨4点左右，估计大多数人这个时候都在睡觉吧^^，正是重启的好时间。 确定好重启的时间后，开始设置计划任务，打开Windows控制面板，找到“计划任务”，打开。点击“添加新计划任务”，会弹出一个“计划任务向导”对话窗，点击“下一步”，会选择程序，点击浏览，找到“c:\windows\system32\shutdown.exe”确定，然后下一步，设置计划任务的名称和执行时间。“下一步”后，设置具体的时间。再下一步设置Windows登录用户名和密码，点击确认完成。然后再次打开这个计划任务的高级属性。将运行内的执行程序后面加入两个参数。“/r /f”，变成“c:\windows\system32\shutdown.exe /r /f”这样执行的就是强制重启计算机命令了。 如下图：]]></description>
		<wfw:commentRss>http://www.deepseath.com/?feed=rss2&#038;p=989</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IIS的一个优化策略</title>
		<link>http://www.deepseath.com/?p=956</link>
		<comments>http://www.deepseath.com/?p=956#comments</comments>
		<pubDate>Sun, 18 Sep 2011 16:26:43 +0000</pubDate>
		<dc:creator>Deepseath</dc:creator>
				<category><![CDATA[日积月累]]></category>
		<category><![CDATA[header]]></category>
		<category><![CDATA[HTTP]]></category>
		<category><![CDATA[IIS]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.deepseath.com/?p=956</guid>
		<description><![CDATA[Win系统以IIS做web服务是首选，在Windows2003以后的IIS可以对每个站点设置不同的“应用程序池”，这样的好处是当某个站点当掉的时候不至于影响其他站点。 实际应用中，我比较主张将网站的静态文件存放于单独的一个站点，如果有条件的话，甚至为这个站点单独启用一个于主服务站点不同的域名（提高页面数据的并行下载能力），并将这个静态站点的执行权限全部关闭，因为是纯静态的数据不需要执行脚本。为其设置Header有效期。以及将ETag设置为空。这样下来，这个静态文件站点初具一些优化条件了。但还有一个地方需要注意，那就是它所使用的应用程序池，为这个站点单独设置一个应用程序池是肯定的，另外，因为这个站点不执行脚本，只是静态数据，因此也就不涉及到工作进程回收的问题了，这个时候将应用程序池设定内的“回收工作进程池”应该关闭，这样确保站点不会回收进程导致iis的意外发生。 这样做下来，这个静态文件站点应该相对效率就高一些了。]]></description>
		<wfw:commentRss>http://www.deepseath.com/?feed=rss2&#038;p=956</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>关于WinXP/Win2003系统时间同步间隔的设置</title>
		<link>http://www.deepseath.com/?p=952</link>
		<comments>http://www.deepseath.com/?p=952#comments</comments>
		<pubDate>Fri, 16 Sep 2011 13:55:08 +0000</pubDate>
		<dc:creator>Deepseath</dc:creator>
				<category><![CDATA[日积月累]]></category>
		<category><![CDATA[Win2003]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[WinXP]]></category>
		<category><![CDATA[服务器]]></category>

		<guid isPermaLink="false">http://www.deepseath.com/?p=952</guid>
		<description><![CDATA[有时候会发现Win2003系统日志内有一些来源为：W32Time，事件ID为：36，事件描述为： 时间服务有 86400 秒没有与系统时间同步，因为没有一个时间服务提供程序 提供可用的时间戳。时间服务将不再是同步的，也不能为其它客户端提供 时间或者更新系统时钟。请查看事件查看器中显示的系统事件，以确认没 有发生更严重的问题。 这是一个警告事件。 虽然对于系统的使用没太大影响，但为什么系统默认的更新周期同事件日志报告会不同呢。看到这样的警告黄叹号也很闹心。事实上，WinXP和Win2003系统的时间同步更新频率默认为7天，对于WinXP系统来说，这个频率比较正常，但对于要求时间精确性相对高一些的服务器系统Windows2003来说似乎有点长，另外，每隔一天总是报告这个警告的黄叹号也很闹心。所以对于Win2003系统可以尝试将时间同步间隔设置小一些，比如一天，这样时间精确性高一些同时还能减少系统日志的报告次数。 通过修改注册表可以改变时间同步时间间隔的设置， 打开注册表键值： HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\W32Time \\TimeProviders\\NtpClient\\SpecialPollInterval 基数选择“十进制”，这样就可以看到十进制格式的“数值数据”了，默认会发现这个数值为：604800，也就是：7(天)×24(时)×60(分)×60(秒)。 你可以修改成你需要的间隔时间（单位：秒），比如我设置为：86400（1天）。]]></description>
		<wfw:commentRss>http://www.deepseath.com/?feed=rss2&#038;p=952</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>firefox内存优化</title>
		<link>http://www.deepseath.com/?p=888</link>
		<comments>http://www.deepseath.com/?p=888#comments</comments>
		<pubDate>Fri, 19 Aug 2011 01:25:57 +0000</pubDate>
		<dc:creator>Deepseath</dc:creator>
				<category><![CDATA[日积月累]]></category>
		<category><![CDATA[firebug]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[memory]]></category>
		<category><![CDATA[技巧]]></category>

		<guid isPermaLink="false">http://www.deepseath.com/?p=888</guid>
		<description><![CDATA[其实我最常用的浏览器是Opera，不过有时候为了调试页面会用到Firefox，因为有个firebug的插件特别方便，不过长期来Firefox讨厌的内存占用实在闹心，直到最近的firefox6也没见改善多少。 内存虽然占用很多，可习惯了firebug不想更换，找了很多资料，总结出firefox内存优化的几个小技巧，最近用着感觉还是挺有效的。 1.给Firefox设置快速缓存。 默认情况下，Firefox只会用系统内存而不使用快速缓存，如果为其设置使用快速缓存，那么就可以减轻内存的负担： 打开firefox的高级配置（地址栏输入：about:config），在过滤器内输入“browser.cache.memory.enable”，看看它的值是否为“true”，如果不是，修改为true。然后在浏览器内的其他位置点击右键“新建”>“整数”。输入“browser.cache.memory.capacity”，然后确定。之后输入一个数值，这个值根据你的实际物理内存进行判断。我的方法是，总结出最近一段时间剩余的物理内存平均值是多少，然后进行确定。假设我最近比较空闲的内存为256M，则输入“4096”，这个可以在修改后的日常使用中去发现并修正。如果你觉得这个方式不好，而想恢复默认的话，可以将“browser.cache.memory.capacity”的值改为“-1”。 2.让Firefox在最小化时自动释放内存。 这个方式比较不错，平时虽然占用内存比较大，但最小化Firefox后，内存自动释放出来。 还是打开Firefox的高级配置，“新建”>“布尔”。输入“config.trim_on_minimize”确定，设置它的值为“true”，就可以了。 设置完上面两个操作后重启Firefox就可以了。 另外，过多的附加组件（插件）也会可能导致Firefox资源占用太多，可以考虑将不经常使用的扩展禁用或者卸载。]]></description>
		<wfw:commentRss>http://www.deepseath.com/?feed=rss2&#038;p=888</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
