在xampp下安装wikipedia

又一篇关于xampp的小提示。

下载的bitnami发布的xampp,有提示可以安装mediawiki,于是又安装了wiki。一路都是msi。
安装好后,使用很方便。

不久,发现一个问题,在上传图片时,显示: Error creating thumbnail:
然后没有任何提示。
Google了一下,都是有提示的,只有自力更生了。

最后发现,是没有安装 imageMagic,所以调用生成thumbnail的函数出错了。

1.修改 C:\xampp\apps\mediawiki\htdocs\LocalSettings.php,
$wgSVGConverter = ‘ImageMagic’;
$wgSVGConverterPath = ‘C:/Program Files (x86)/ImageMagic-6.9.3-Q8’;
$wgImageMagickConvertCommand = “C:/Program Files (x86)/ImageMagick-6.9.3-Q8/convert”;
$wgImageMagickTempDir = “C:/temp/”;

2.接着安装imageMagic的时候,又犯了错。需要用 ImageMagick-x.x.x-8-Q8-x86-static.msi, 用Q16, x64, dll, 都不行。
(看xampp的安装,是xampp-win32,只能用x86是这个原因。如果用dll, 在php里会报错 load dll 失败,即使路径是对的)

用了xampp就是为了省事,就不去深究为什么了。
祝大家开发娱快。

套装下载地址:
链接:http://pan.baidu.com/s/1c3EBi2
密码:2n2x

通过阿里云创建vpn

vpn是件苦恼的事.

最好的方案是网购一个vpn账号,省心省力.缺点是:看视屏卡的时候不知道哪里出的问题.
最近使用红杏,缺点同上,不过优点也很明显:不用时不时断开vpn,通过chrome插件自动切换线路(也只支持chrome).
有个需求是手机也要用vpn,不然有些国外的游戏长时间连接不上(手机看油管也不方便).

阿里云有国外的ECS,猜测线路会稳定一些,所以想试一下.香港ping值更低,但打开油管还是会定位在香港,所以决定选美国区试一把.
1.新购美国区ecs一台, “美西可用区1A” 1核1G内存 centos 7.0
2.参考 ”http://blog.csdn.net/johnnycode/article/details/45543157”
ppp 和 pptpd 一样,但是 在centos下的iptables设置有区别。
因为centos 7 用firewalld 替代了iptables的功能。所以这里把firewalld禁止,恢复使用iptables。参考 这里

PS:红杏邀请链接 在这里

WordPress实现代码语法高亮

作了一个程序的部拉格,代码的格式化显示少不了。这里有两个要求:

  1. 分行显示代码。
  2. 有语法高亮。

首先,语法高亮需要一套js支持。譬如托管在github上的syntaxhighlighter。这个action script/css 库支持的高亮的语言有 ActionScript3、Bash/shell、ColdFusion、C#、C++、CSS、Delphi、Diff、Erlang、Groovy、JavaScript、Java、JavaFX、Perl、PHP、Plain、PowerShell、Python、Ruby、Scala、SQL、isual Basic、XML。[原文]

其次,用简单的语法整合到Wordpress里,譬如SyntaxHighlighter Evolved这个插件, 并且这具目前是Wordpress官方推荐的。

安装后用法很简单,&#91php light=”false”&#93 your code here &#91/php&#93 ,语法就高亮了,其中light属性用来隐藏行号,cool!

your code here

有评论说用了这个插件后加截很慢,要花二到三十秒去装载各个script, 但是换成插件”Crayon Syntax Highlighter” 后,就快多了了。目测这个插件更新比前一个勤, 但没亲测效果。


附录:

 
< = &lt; or &#60;
> = &gt; or &#62;
/ = &#47;  	
] = &#93;
[ = &#91;
" = &quot; or &#34;
' = &#39;
“ = &ldquo; or &#8220;
” = &rdquo; or &#8220;
‘ = &lsquo; or &#8216;
’ = &rsquo; or &#8217;
& = &amp; or &#38;

svn的post-commit末能执行

在开发一个后台系统,用svn管理代码。以前用做过同样的事情,希望commit代码后能自动更新网站。

用的是centos 64bit。原理很简单,就是在depot下的hook目录有个post-commit.tmpl, 文件里有详细的使用说明,拷贝成post-commit,增加需要的命令(同步服务器的部属目录)。
一些有坑的地方:

  1. 执行post-commit时是没有环境变量的,如需要环境变量,得自己重头设置。
  2. 脚本对svn damon的所有者(譬如apache)有可执行权限 744。
  3. 目标目录对svn update的执行者(譬如apache)要有可写权限 chown -R apache:apache。

遗憾的是,commit后,脚本没有执行成功。 查找原因时,祭出日志大法, 把结果输出到日志文件。结果显示”svn update”命令末执行。 进一步测试,脚本本身是执行的。 突然想起来,可能是error没有输出到output, 于是在 “svn update >> $log 2>&1″, 果然有error: “….. Store password unencrypted (yes/no)? svn: Can’t read stdin: End of file found”。命令里面其实是有用户名密码的,但是apache用户没能存成临时文件(用root用户测试脚本没问题)。 最后的解决方法是,在”svn update –username xxx –password yyyy” 后面加上参数 ” –no-auth-cache –non-interactive” , 网站在commit后终于自动更新了。 ; )

小技巧:

  1. post-commit执行败的话,commit也会失败,并在客户端显示出错。
  2. 测试post-commit时,可以直接运行这个脚本,不用每次在客户端上传一次文件。

[脚本]
/usr/bin/svn update /***/***/***/ –username ***** –password ***** –no-auth-cache –non-interactive –force

[环境]
CentOS release 6.2 (Final)
svn, version 1.6.11 (r934486)

在zend studio中用XDebug调试yii项目

[debug环境 Zend Studio]

  1. 下载和安装zend studio 。
  2. File->New->Php project from existing directory, 设置项目名字。所有文件会自动映射到workspace 。
  3. 右键->项目名->Property->Resource, 把Text file encoding改为utf-8. (用container的话,可能是windows的设置,如gbk之类的)。
  4. 右键->项目名->PHP Debug->Server Settings->右边的PHP Servers->选中第一个默认选项->Edit
    Debugger设置为XDebug->OK 。
  5. 右键 项目的启动文件 index.php, Run/Debug Setting -> 选中index -> 右边一列选Edit -> 选Server卡,去掉 “Auto Generate”的勾,并填写相对于localhost的路径。
[php环境 XAMPP]
  1. 安装,并初始化一个yii项目。
  2. 在XAMPP panel中,选apache->Config->php.ini, 找到[XDebug],把注释掉的设置放开。
  3. 更改zend_extension的值为本地的php_xdebug.dll完整路径(加上盘符)。
  4. 把xdebug.remote_enable = 0改为1 。
  5. 重启apache,在phpinfo()的返回中,会有“with Xdebug v2.2.3”显示。

[说明]
如果不设置xampp的zend debugger, 也可以调试php (用internal debugger)。

[环境]
windows 8.1
xampp-win32-1.8.2-2-VC9-installer.exe
ZendStudio-10.6.1-win32.win32.x86.msi

……

卷首寄语,以飨来者。

个人“部落格”从曾横行当道如日中天,发展至今貌似已穷途末路日落西山。其实用博客的人还是很多,作用也变得更宽泛了,像作为 “知识管理(CMS)”、“新闻聚集”、“公司/产品PR”等等。

博客的不那么流行,直观地看是两方面原因:一是生活节奏快崇尚快餐文化,作为抒发感情报怨生活,140字的微博有很大的替代效应,传播更快捷和更社交化。二是作为长篇大论要自已写得满意别人看得舒服还没约稿费,累。博客也有些不能被替代的潜质:有些用来分享的知识和观点需要契入整理,阐述时可以使用的媒体更丰富,作为分享源受众质量也不同。

博客难写。值得写一下作为分享的内容,很多本身不好理解或者自己还没完全理解,写出让人产生阅读欲望的文字需又要一定的大多数人欠缺的技巧。我相信一点:说明白一件事,最重要的是自己已经理解了,想透彻了。像科普小品,同样的课题,有些文章看得云里雾里昏昏欲睡,有些读了却让人豁然开朗欲罢不能。文章的看不懂是作者不合格,说不明白是作者自己本来理解得就含糊或者就是在糊弄,说得明白但枯燥无味是语言表达不娴熟。

作为我,生活中五味杂陈不值一哂。但很多年工作下来,一些细微末技、所感所思却值得归个档,以后作为参考,或者引以为鉴,又或者抛砖引玉与人共鸣。这个博客,希望不是作为转贴的知识管理,而是作为自己工作的一个梳理。虽然自我标榜为一枚有经验的开发者,但我还是经常遇到些细枝末节的问题,明明记得解决过还曾洋洋得意,最后还是落得一行行地看日志或者一页页地翻搜索引擎。因此,这个博客文章将分为两类:

  1. 比较长篇的文章,对一些曾经困惑过的问题作阐述,或者翻述 一些自己理解的技术。
  2. 自己遇到的一些问题和找到的答案,简单乏味但有条理,可能行家看来会觉得可笑。

若干年前也整过一个技术博,曾经决心每周更新一次,结果7、8个月间上线了5、6篇随记,后来还被网上仇人给人肉出来作攻击(哈哈)。现在域名也丢了服务器也不再续费了,痕迹都已被擦干,只留下了点回忆。每个新的开始总是踌躇满志,2014年重新整个工作“部落格”,放下包袱,轻装前行。

最后提醒自己:大道自然。如果我说得含混不清,那我一定是在掩盖什么。