浏览模式: 标准 | 列表
2006年5月4日(正好是五四青年节),PHP 发布了 5.1.4,我在升级服务器时,顺便把原来的 PHP 4 升级到了这个版本,居然没有遇到什么问题,原来的程序仍然可以运行得很好,看来,对于一般的应用来说 PHP 5 和 PHP 4 没有多大的兼容性问题。不过 PHP 5.1.4 中有几个扩展好像有问题(也可能是不适合跟 IIS 搭配运行),这几个扩展(包括 PHP 网站上提供的 PECL 扩展)是:php_apc.dll、php_blenc.dll、php_exif.dll、php_operator.dll、php_threads.dll。这些扩展如果打开的话,服务器会非常不稳定,甚至会根本无法运行。另外,Oracle 的扩展似乎不能跟 IIS 搭配使用,只能跟 Apache 搭配。

补充:

今天发现还有一个 php_filter.dll 扩展安装以后会引起一个问题:表单中所有的 HTML 内容会被过滤成纯文本。这会使的大多数网站不能正常运行。所以也建议不要开启这个扩展。

» 阅读全文

以前安装的是 AWStats 6.4。前几天发现在 4 月 5 日,AWStats 发布了 6.5 的稳定版,于是在 8 号晚上升级到了 6.5 版。升级还算顺利,把以前的版本删掉,然后把新版本解压缩到原来的目录下,就行了。不过发现原来的 GeoIP 插件不好用了,折腾了半天也没整好这个插件,最后用 GeoIPfree 插件代替了原来的 GeoIP 插件后,发现可以正常显示了。于是认为升级成功了。 两天后,查看统计的时候,发现 8 号、9 号两天的访问量都是 0,于是手动运行日志统计的批处理程序,这才发现原来我根本就没安装 Geo-IPfree 的 Perl 模块,用 ppm install Geo-IPfree 安装该模块之后,再次运行批处理程序,可以正常统计了。然后用同样的方法安装了 Geo-IP-PurePerl 后,发现也能用了,开始不能用的原因原来是自己把 GeoIP.dat 的路径配置错了,真是晕啊!不过因为发现这个问题时晚了一天,所以 8 号的访问信息都丢了。不过尽管如此,这个月的访问量仍然远远的超过了上个月的访问量。 AWStats 的统计功能十分强大,网上对它介绍的文章也比较多,所以我就不写了。大家有兴趣可以看看车东的这篇《AWStats: Apache/IIS的日志分析工具——在GNU/Linux和Windows平台上的使用简介》《AWStats升级到6.5:补充更新》

» 阅读全文

4月
07

phpserializer.js 更新

Opera Mobile 这个 phpserializer.js 开始来自 www.devpro.it,后来我将其引入了 PHPRPC 中,今天安装了 Windows Mobile 5 模拟器,并在上面安装了 Opera Mobile 版,打开 CoolCode.CN 后发现所有用了 PHPRPC 的插件都不好用了。因为 Windows Mobile 5 上没有 JavaScript 调试器,而且 Opera Mobile 本身也不报错,所以很难调试,后来通过从本机用 Ethereal 抓包分析的方法,断定是 phpserializer.js 中序列化部分有问题。之后单独对它进行编程调试,发现原因出自 constructor 属性上,该属性对于内置对象来说,在 Opera Mobile 上的值与 PC 上是不同的。 该文件在 PHPRPC 中和使用 PHPRPC 的插件中都包含,使用它的 WordPress 插件有:Alexa RankCoolPlayerCoolWeatherGooglePRPagePost 2。它们现在都已经进行了更新,使用了这些插件的用户可以重新下载更新,之后就可以在 Opera Mobile 上完美的运行这些插件了。 右图为在 Opera Mobile for Windows Mobile 5 Pocket PC 的截图。

» 阅读全文

MySQL 4.1 和 MySQL 5 跟 MySQL 4 有一些区别,许多原来在 MySQL 4 上的程序直接移植到 MySQL 4.1 或者 MySQL 5 上时,常常会出现许多问题。因此,一直以来都用 MySQL 4.0,没有升级过,因为原来许多系统在开发时都没有考虑 MySQL 4.1 之后的数据库。这几天被迫移植一个 3 年前写的一个 CMS 到 MySQL 5 上,字符集转换的那个问题因为在以前开发时遇到过了,因此这个很容易就解决了。那个系统中的图片和其它附件内容都是保存在数据库中的,用的是 longblob 类型的字段。原来是把文件内容读出来之后,直接用 addslashes 函数转义一下,写入数据库就可以了。但是这次到了 MySQL 5 上居然不好用了。写入文本文件还可以,但是 Word 之类的文档死活写不进去。将 addslashes 换成了 mysql_escape_string 和 mysql_real_escape_string 后还是都不好用。于是心灰意冷,决定把数据导出来,再换到 MySQL 4 上去,数据导出来以后是个 sql 文件,打开一看,发现 longblob 字段在插入时居然是 0xHHHHHHHH... 的形式,于是试着把 addslashes 改称 bin2hex,然后开头再加上 0x,再一试,好了!原来如此啊,这回不用换数据库了,继续用 MySQL 5。我没测试 MySQL 4.1 是否也有这个问题,不过我估计也应该用这种方式才能插入 blob 类型的字段值。

» 阅读全文

前几天做了个大学英语四六级成绩查询系统,一个 phprpc 版本,一个 wap 版本。它们的核心代码都是相同的。从 etang.cet 获取大学英语四六级成绩的核心代码见正文。

» 阅读全文