【问题标题】:Same PHP script runs differently on 2 machines相同的 PHP 脚本在 2 台机器上运行不同
【发布时间】:2015-11-17 05:42:05
【问题描述】:

我用来解析 XML 文件的同一个 PHP 脚本怎么可能在两台不同的机器上以不同的方式运行? 因此,在我的虚拟机(Laravel Homestead,运行 PHP 5.6.11)上,脚本正常运行,但是当我将其传输到 Web 托管时,它会引发“无法使用 DOMNodeList 类型的对象作为数组”错误。 有问题的脚本是here,并在第77行抛出错误,但它所指的变量是这样的:

$choices = $v->getElementsByTagName('choice');

可能是 PHP 版本还是其他版本?虚拟主机运行 PHP 5.5

错误截图:

【问题讨论】:

  • 看来你误解了getElementsByTagName的结果,看这里:stackoverflow.com/questions/2845908/…
  • 尝试将您提到的代码行更改为$choices = iterator_to_array($v->getElementsByTagName('choice'));

标签: php xml laravel dom


【解决方案1】:

正如我所怀疑的,在管理员切换到版本 5.6.12 后,一切都开始正常运行。没有任何错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-06-26
    • 2021-03-13
    • 1970-01-01
    • 2015-01-21
    • 1970-01-01
    • 2012-10-25
    • 2018-06-02
    相关资源
    最近更新 更多