Mac OSX 升级 PHP

Mac 上其实自带了 PHP,但是版本比较老旧,自己安装了新版的 PHP 以后,在终端里查询后发现,自己运行的依然是旧版本,折腾一番后解决了问题,步骤记录如下:

1. 安装 PHP:

2. 输入命令

修改PATH为

此处你也可以酌情根据自己的需要修改

3. 输入命令

4. 升级成功,测试一下:

Blog 被黑了

一大早上起来就发现 BLOG 被黑,页面打不开,后台可以进。于是乎进行了自救。话说 WordPress 的安全性真不是一般的差,随随便便就被黑了一片,说好的安全更新在哪啊?

能够顺利自救而不丢失数据,还得得益于 Homezz 完善的备份系统,分分钟找回数据库备份,有木有?恢复数据库之余还顺便搬了个家,话说 PHP 5.2.x 的安全性着实不敢恭维。

ShadowBlue 0.9 Beta

ShadowBlue 是我 2010 年 1 月份制作的一个 WordPress 主题,经过了这些年的修修补补,最近终于决定捯饬一下准备上传到 WordPress Index 了。主题截图

主题建了这么久,也积攒下来一大堆 Bug,刚开始做主题的时候编码水准比较幼稚,所以连修复 Bug 加重构一并做了,还对 IE 上的效果进行了一定的简化(计划逐渐实现在 IE6 上的裸奔);逐步完善了后台中的主题设置功能,基本已可实现普通的功能选择不需要修改源码的效果。

上传主题到官网上挺麻烦的,要按照规矩 Debug 代码,很多方法和语句什么的都要重构,源码里还不能用中文,需要全部改英文再拿 PO 文件做 Localization 本地化,一大堆麻烦事。

功夫不怕有心人,一项项地改,总能把问题解决,于是乎,ShadowBlue 0.9 Beta 隆重出炉,源码已上传至官网,坐等审核中。

感兴趣的朋友可以移步 开发页面 一看究竟,心急的朋友可以直接访问 项目页面

PS:ShadowBlue on wordpress.org is almost there ~
坑爹的 wordpress.org ,提出了很多我无法接受的要求,比如只能使用 wordpress 自带的 jquery 库等,还有很多规范化的要求会增加过多的工作量,所以提交到官网的计划正式宣告无限期搁置了。现阶段还是老老实实 host 在 github 上好了。

WAMP 使用中的若干问题

我是个懒人,所以在本地开发时喜欢使用集成开发环境,XP 里面我用 XAMPP ,换成 Win7 64Bit 之后,由于 XAMPP 不支持 64 位,所以只好换成 WAMP 了。

由于我同时使用 WAMP、QQ旋风 和 Skype,所以就遇到了 Apache 服务无法启动的问题,这些大概可以归结于各种应用程序占用了 80 和 443 端口的问题:
1. 占用 443 端口的问题我之前说过,在 WAMP 中处理办法是一样的,关掉 Apache 的 SSL 扩展即可;
2. 万恶的 80 端口,当然也可以通过修改 Apache 的端口来解决,不过我更喜欢修改应用程序所用的端口, QQ 旋风:工具>>设置>>BT设置中,点击随机生成,确定;Skype:工具>>选项>>高级>>连接中,取消“将80端口与443端口作为连接的备用端口”这个复选框,保存重启。

如上操作之后重启所有服务,图标会变绿,也就意味着服务正常启动了,不过当我登录本地的 WordPress 进入后台之后,发现了更诡异的现象,说是“Maximum function nesting level of ‘100’ reached”()。果然 Apache + PHP 就是屌丝用的东西,什么都要自己动手调,于是问 Google ,在 stackoverflow 找到正确答案一枚:

A simple solution solved my problem. I just commented the:

in php.ini file. This extension was limiting the stack to 100 so I disabled it. The recursive function is now working as anticipated.

大意就是打开 php.ini,把 zend xDebug 扩展注释掉。

于是乎,故障扫清了,尽情的抠腚吧,同学们~

一个最简单的基于PHP+jQuery的AJAX例子

说在前面:本文只作为一个笔记留存用以达到语言重用的效果,可能对于很多大虾过于入门级,请直接无视。

基本上一说起ajax,大家都感觉到比较神秘,我以前也是这样,总觉得这个和荷兰一家足球俱乐部同名的玩意儿是个高深莫测的东西。其实ajax之所以看上去那么蛋疼主要是为了解决各浏览器对js的兼容性问题而写了太多的代码,以至于一看见就头昏。强大简易的jquery扭转了这个局面。

首先说下个人对ajax的简单理解:html、css、js(jQuery等)是给浏览器看的,PHP是给服务器看的,js可以和php对话,而php可以生成html、css和js,以前我们浏览网页的时候,总是通过操作html,通过php告诉服务器我们需要什么内容,然后服务器会在一个新的页面将你请求的信息展示给你;而ajax,即是我们操作html时告诉js,然后js告诉php,php得到命令以后到服务器去取了你要的信息交给js,js再将此信息展示给你。这么看来ajax貌似更复杂一点,但是他带来几个好处:1. 你不需要进入一个新的页面就可以看到你所请求的信息;2.php只需要提取出产生了变化的有限信息即可,减少了重复。

简单扼要的说就是ajax模拟了提交表单的行为,但是把刷新页面这件事交由js在后台偷偷完成了。
继续阅读“一个最简单的基于PHP+jQuery的AJAX例子”

CMS.txt – 超简易的内容管理系统

CMS并不是一种离我们遥远的东西,从字面上(Content Management System)就可以知道,他只是一个用来管理网页内容的东东而已,比如我现在所使用的Wordpress就是其中的一种,这里我要介绍的是一个核心程序2K不到,即便加上所有示例文件和模板打包起来也才442K的CMS系统,他的名字叫做 CMS.txt
使用起来也很简单,根目录的index.php是核心文件基本不用修改,CMS.txt是配置文件,用来管理网站的结构,内有两个文件夹pages和thems,前者用来存放内容,后者存放模板,如果你只是要发布一些内容的话,只需要动配置文件和pages文件夹里的内容就可以了。
如此简洁的东东,最适合用来制作内容不多的小网站了。

废话不多说,马上做了一个,有兴趣的可以到这里看看,以下是截图:

Photobucket

PS:安装和使用CMS.txt需要PHP以及mod_rewrite组件的支持(一般的PHP空间服务商都会提供此功能)。

WordPress手册离线版

如果要进行Wordpress的开发,对WordPress手册的查询工作必不可少,WP团队真的很懒,别人都知道出个CHM文档,他倒好,弄个类WIKI就了事了,连内容都要使用者帮忙修改提供。总之一句话,使用非常不便,网速问题且不说,万一哪天被“绿霸”了,哭都没地方哭去。
所以我经过两个晚上的努力,把这个网站用全站下载工具下载了下来,虽是笨办法,但总算能实现本地离线浏览了。源文件2xx MB,压缩包42.49 MB,请最好用WinRAR解压。
解压后的文件请不要改变路径结构,直接点击index.html即可打开索引。

下载地址:纳米盘RayFile

PS:该文档是多国语言版的,但是只有英文版最完整,截止日期在上周。望有兴趣的同学帮忙制作成CHM文档。

开启xampp上的curl

一直都在本机上用xampp测试wordpress,前几天测试Twitt Twoo这个插件的时候发现怎么也无法使用,报错说是我没有开启cURL(一个利用URL语法在命令行方式下工作的文件传输工具)。
查了一下得出方法如下,打开…\xampp\apache\bin\php.ini 文件(我建议你用notepad++,因为那样你可以看见行数),搜索curl,把第582行中的分号去掉,保存,在xmapp control中重启apache,问题就解决了,phpinfo()里也可以显示相应模块已启用。
PS:其他模块也可以用这种方式打开,基本上都在这个文件中。
PPS:改了一下coolcode的css,以前的太难看。如下: