【问题标题】:Error "Unknown class SimpleXMLIterator" with HHVM带有 HHVM 的错误“未知类 SimpleXMLIterator”
【发布时间】:2015-07-13 23:34:54
【问题描述】:

根据

,看起来 HHVM 在使用 SimpleXML 时遇到了问题

https://github.com/facebook/hhvm/issues/650

https://github.com/facebook/hhvm/issues/303

在我们的案例中,Amazon S3 的 PHP SDK 使用了 SimpleXMLIterator 类。我在 HHVM 关闭时尝试了相同的代码,并且效果很好。

有什么想法/解决方法来解决这个问题吗? 或者通过使用其他用于 S3 SDK 的 XML 解析工具而不是 CFSimpleXML 的方法来解决它?

使用的代码:

$s3->batch()->copy_object(
                array('bucket' => $temp_bucket, 'filename' => $filename_source),
                array('bucket' => $bucket, 'filename' => $filename_dest),
                array('acl' => AmazonS3::ACL_PUBLIC)
            );

$response =  $s3->batch()->send();

来自 HHVM 的错误报告:

HipHop Fatal error: unknown class SimpleXMLIterator in XX/librairies/s3sdk/utilities/simplexml.class.php on line 33

【问题讨论】:

  • 如果我猜对了,您是在问如何解决已记录在案的 HHVM 问题,当您不使用 HHVM 时不会发生该问题?
  • 不,这个问题没有记录在案,我猜它与 HHVM 与 SimpleXML 的其他问题有关。目前很难找到任何关于 HHVM 在许多方面的利用率的文档。
  • 嗯,可能是您发现了一个错误。此外,您应该包含您使用的代码 + 您遇到的任何错误,以便人们可以尝试重现您看到的问题。
  • 确实,您使用的是 Amazon 用于 PHP 的 SDK 的过时且不受支持的版本。你真的应该考虑升级。好处是巨大的。

标签: php amazon-s3 simplexml hhvm


【解决方案1】:

遗憾的是,SimpleXMLIterator 还没有实现。您可以执行此操作,也可以打开一个问题并等待其他人执行此操作。

https://github.com/facebook/hhvm/search?q=SimpleXMLIterator&ref=cmdform

https://github.com/facebook/hhvm/wiki/Extension-API

【讨论】:

  • 感谢您提出这个不幸的事实,我想知道自从 Facebook 构建并使用它以来,为什么库中仍然缺少一些重要的扩展,Facebook 团队是否还在研究它?跨度>
  • 这实际上可能是实现:github.com/facebook/hhvm/pull/1387
  • @Tristan 显而易见的答案是,虽然它对你很重要,但对 Facebook 并不重要。在完全不同的引擎下重新实现复杂的 PHP 扩展并不是一件容易的事,尽管我相信大多数最终都能兼容。
  • 那么这个链接docs.hhvm.com/manual/en/class.simplexmliterator.php不代表他们已经实现了吗?
【解决方案2】:

SimpleXMLIterator 将在 hhvm 的下一个版本中提供(可能是 3.9) https://github.com/facebook/hhvm/commits/d29d110217bf3fabdc75d487f4c96740603ae2eb

【讨论】:

  • 这将更适合作为评论。
猜你喜欢
  • 2014-05-28
  • 1970-01-01
  • 2023-03-19
  • 1970-01-01
  • 1970-01-01
  • 2013-07-12
  • 1970-01-01
  • 1970-01-01
  • 2019-09-01
相关资源
最近更新 更多