PHP clone关键字vs clone()命令行CLI问题

时间:2009-05-31 17:30:45

标签: oop php

我一直在使用clone关键字来复制像这样的对象:

$x = clone $obj;

根据the manual

这在浏览器访问时工作正常。 phpinfo()报告PHP版本5.2.6。

但是当由cron运行或从CLI运行时我得到

  

“解析错误:语法错误,意外T_VARIABLE”

来自clone关键字的

php -v报告PHP 4.4.9(cli)

版本冲突时出现此错误吗?

如果我在脚本中使用clone(),请执行以下操作:

$_SESSION['user'] = clone($userObject);

使用clone关键字时,$_SESSION['user']出现奇怪的间歇性问题。

这对任何人都有意义吗?

有什么建议吗?

2 个答案:

答案 0 :(得分:3)

似乎clone $foo关键字仅适用于PHP 5及更高版本。

另外,如果您仍在使用PHP 4.4.9,那可能是一个更大的问题。

答案 1 :(得分:1)

结果是服务器安装了4和5,CLI报告4.4.9只是由于PATH顺序:

来自支持:

“在shell中运行”php -v“命令将始终返回V4。这是因为我们在服务器上有两个单独的PHP安装。一个用于V4,一个用于V5,以及PHP 4解释器首先出现在你的PATH环境变量中。如果你想通过shell使用V5,你需要确保使用完整的路径“