将php4/mysql4迁移到php5/mysql5:预期的php问题?

将php4/mysql4迁移到php5/mysql5:预期的php问题?,php,migration,php4,Php,Migration,Php4,我有一个传统的web应用程序php4/mysql4(MyISAM、db包含一些cms、一些用户数据、一些日历应用程序)。现在,我将迁移到一个使用php5/mysql5的新服务器 在这样的迁移场景中,典型的php问题是什么(php、sql查询等) 我听说传递的函数参数已更改,按引用调用/按值调用。你能举个例子或解释一下吗 还有什么我应该知道的吗 (MySQL问题覆盖了一个不同的问题:) < P>我认为最好的迁移帮助是 < P>我正处于迁移过程中,我发现了很多问题。 如果您希望有一个干净的代码,那么

我有一个传统的web应用程序php4/mysql4(MyISAM、db包含一些cms、一些用户数据、一些日历应用程序)。现在,我将迁移到一个使用php5/mysql5的新服务器

在这样的迁移场景中,典型的php问题是什么(php、sql查询等)

我听说传递的函数参数已更改,按引用调用/按值调用。你能举个例子或解释一下吗

还有什么我应该知道的吗


(MySQL问题覆盖了一个不同的问题:)

< P>我认为最好的迁移帮助是

< P>我正处于迁移过程中,我发现了很多问题。 如果您希望有一个干净的代码,那么您需要为您的特定代码段找到合适的解决方案。如果清洁度不是那么重要,您可能会发现此功能非常有用:

function php4_clone($object) {
    if (version_compare(phpversion(), '5.0') < 0) {
        return $object;
    } else {
        return @clone($object);
    }
}
函数php4\u克隆($object){
如果(版本比较(phpversion(),'5.0')<0){
返回$object;
}否则{
返回@clone($object);
}
}

大多数PHP 4/5兼容性问题有两个方面:

  • 新保留字
  • 新类/对象后端
大多数v4代码在v5中运行良好。您可能遇到的问题是依赖于v4类模型的限制或利用v4引用特性的代码。但大多数人都不会违反这些限制(我有——这就是为什么我知道他们在那里)

如果您被类/对象限制所困扰,那么可以在“v1”模式下运行Zend引擎,这使得类和对象的行为与v4中的类似