2009-04-13 56 views
2

我有一个遗留的Web应用程序php4/mysql4(MyISAM,db包含一些cms,一些用户数据,一些日历应用程序)。现在我要用php5/mysql5迁移到新的服务器。迁移php4/mysql4到php5/mysql5:预计的PHP问题?

什么是在这样的迁移scenary(PHP,SQL查询,任何)典型的PHP问题?

我听说函数参数传递发生改变,引用调用/按值调用。你能举个例子还是解释一下?

还有什么我应该知道的?

(MySQL的问题都属于一个不同的问题:Migrating php4/mysql4 to php5/mysql5: switch to InnoDB?

回答

2

大多数PHP 4/5的兼容性问题是两件事情:

  • 新的保留字
  • 新类/对象后端

大多数v4代码在v5中都能正常运行。您可能遇到的问题是代码取决于v4的类模型的局限性,或者利用v4的参考怪癖。但是大多数人不会对这些限制进行编码(我有 - 这就是为什么我知道他们在那里)。

如果您遇到类/对象限制,您可以在“v1”模式下运行Zend引擎,使类和对象的行为与v4类似。 This is documented.

1

我在移民中间我和我发现很多aliasing问题。

如果你想有一个干净的代码,那么你需要找到适当的解决方案,以您的特定片段。如果清洁不那么重要,你可能会发现这个功能非常有用:

function php4_clone($object) { 
    if (version_compare(phpversion(), '5.0') < 0) { 
     return $object; 
    } else { 
     return @clone($object); 
    } 
}