代码之家  ›  专栏  ›  技术社区  ›  jerrygarciuh

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

  •  0
  • jerrygarciuh  · 技术社区  · 15 年前

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

    $x = clone $obj;
    

    按照 the manual .

    当通过浏览器访问时,此功能可以正常工作。 phpinfo() 报告PHP版本5.2.6。

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

    分析错误:语法错误,意外的t_变量

    来自clone关键字。

    php -v 报告php 4.4.9(cli)

    此错误是否来自版本冲突?

    如果我使用 clone() 在我这样的脚本中:

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

    我有一些奇怪的间歇性问题 $_SESSION['user'] 在使用clone关键字时不会发生这种情况。

    这对任何人都有意义吗?

    有什么建议吗?

    2 回复  |  直到 13 年前
        1
  •  3
  •   user1686    15 年前

    似乎 clone $foo 关键字仅在php 5和更新版本上可用。

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

        2
  •  1
  •   jerrygarciuh    15 年前

    事实证明,服务器安装了4和5,而CLI报告4.4.9只是由于路径顺序:

    从支持:

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