没时间细看,不知道现在支持不了,反正先转了再说。
Plog0.32不支持php5,类定义出现问题……
还好以前有高人已经解决了,但是原文没有太弄明白,那个判断错误的程序function _internalErrorHandler( $e)老是出错,
说getfile()有问题,弄了半天不行只好屏蔽了,留了一个空函数在那里,竟然可以运行……也不知道会不会有问题。上SMTH找牛人请教去。
贴下那篇文章:
【原作:snowphy @ SMTH】
日前由于需要在php5上运行plog,但网上下载的plog_0.3.2_cn包不能直接使用(未汉化的没有看,应该也不行)
又找不到资料,只能自己研究,侥幸成功,不敢把经验独享,写个总结供其他有同样需要的人做参考。
以下步骤在windows2000 Advanced Server系统实现
使用plog_0.3.2_cn + php5.0.2 + mysql4.1.7(mysqli函数库)
修改plog_0.3.2_cn源程序如下
1.修改/class/object/exception.class.php:
说明:
去掉里面的Exception类,去掉throw、catch函数。修改_internalErrorHandler函数(名字无所谓,可以改成你喜欢的)
这里要说的是,php5提供了系统的Exception类,所以不用再自己定义,而且也不能自己定义,否则会出现重复定义的错误
这里提供的错误处理类,仅仅是打印出错误信息,高级功能请自行编写。
//自定义错误处理函数
/*
*参数:$e Exception类型
*/
function _internalErrorHandler( $e)
{
echo ("Error in file " . $e->getFile( ) . " on line " .
$e->getLine( ) . ".
" . "Error message: "" . $e->getMessage( ) .
"" and error code: " . $e->getCode( ) . ".");
}
//注册我们自定义的错误处理函数
$old_error_handler = set_error_handler( "_internalErrorHandler" );
?>
2.修改/class/object/reflection.class.php
reflection类改名为_reflection
说明:
同上,php5提供了Reflection类,这里我们把类名稍做变动
Reflection的具体作用请参考php5手册
由于其他代码里用到了自定义的这个类,我没有把它去掉
3./class/controller/controller.class.php
原new reflection()改为new _reflection()
说明:
此改动对应2
4./class/database/adodb/adodb-iterator.inc.php
ADODB_Iterator类增加函数
function valid()
{
return !$this->rs->EOF;
}
说明:
实际上应该是把hasMore函数改名为valid,怕有其他代码对hasMore的调用,
就多加了一个,两个函数功能是一样的,这样调用哪一个都可以。
做了上述改动之后就可以把plog_0.3.2装在php5上了,下面的改动是为了让plog使用mysqli的函数库来代替原来的mysql函数库
5./class/database/db.class.php(line 24)
/class/dao/model.class.php(line 45)
/wizard.php(line 397 in function connectDb)
/register.php(line 52 in function connectDb)
/class/plugin/pluginbase.class.php(line 171 in function connectDb)
/class/config/configdbstorage.class.php(line 59 in function ConfigDbStorage)
就是把代码中所有 $db = NewADOConnection("mysql");的,都改成 $db = NewADOConnection("mysqli");
这个也可以改成其他你想用的数据库类型,plog支持的数据库种类还是蛮多的。
做完之后发现也没做多少改动,却花了不少时间-_-,想想主要是对php5不熟悉,准确的说是php5比php4多了哪些功能,
改动过程中,主要参考了O"Reilly出版的《Upgrading.to.PHP.5》,应该说学到了不少东西*^_^*
由于改动不多,就不提供改好的包了,有需要的按照上面的办法改以下还快就能搞定的。
希望能给正在找相关资料的人提供帮助。
2004-11-18
snowphy
附:
Upgrading to PHP 5
By Adam Trachtenberg
Publisher : O"Reilly
Pub Date : July 2004
ISBN : 0-596-00636-5
Pages : 304