升级网站到 PHP 4.3.10

December 20th, 2004

PHP 4.3.9 之前的版本有很大漏洞,这个周末不敢怠慢,立即升级 PHP ,本来以为 Zend 2.5.5 的版本已经足够,所以一直没有想到 Zend 的问题。所以升级后,发现 foreach 语句有问题。

<?php
$arr = array("one", "two", "three");
reset ($arr);
while (list(, $value) = each ($arr)) {
   echo "Value: $value<br>n";
}

foreach ($arr as $value) {
   echo "Value: $value<br>n";
}
?>

$value 必须用 $value[0] 才输出正确的值。

升级到 ZendOptimizer-2.5.7 后,一切正常了。

另外,介绍升级后调试  PHP 的一个方法:

在升级 PHP  ,作 make install 之前,一定备份好  apache/module/libphp4.so 文件。
然后 make install ,如果 升级失败,可以通过恢复老的  libphp4.so 迅速还原。

即使还原 libphp4.so 后, 命令行方式的 PHP 程序已经是新版本,可以用  php –version 检查。
然后,可以在命令行下调试程序在新版本可能存在的问题。


Leave a Reply