【发布时间】:2017-07-13 20:00:03
【问题描述】:
在 PHP 中,有没有对象运算符的替代方法,或者对象运算符不能在 Windows/IIS 环境中工作的原因?
我正在尝试将 PHP Web 应用程序从 Linux/Apache/MySQL 迁移到 Windows/IIS/MySQL(IIS10,PHP 7.1.1),但对象运算符似乎在 Windows 环境中不起作用。为了使网站的某些部分正常工作,我必须将所有数组引用从
$query_rs->id;
到
$query_rs['id'];
我也很关心对象操作符在函数中的使用
$Member->save();
和其他对象属性访问,如
$this->id
感谢您抽出宝贵时间,我在此处或网络上的其他任何地方都没有找到关于此问题的太多信息。
【问题讨论】:
-
服务器日志中是否有任何可能提供线索的错误?
-
当您说它不起作用时,发生了什么?对象和数组是不同的,您所展示的是对象已成为数组。没有理由说对象不能在 IIS 中工作,毕竟它仍然是 php。
-
显然这是一个 IIS 错误。我从未使用过它,我不明白为什么其他人会使用它,除非出于某种奇怪的原因,您的生产服务器也是 Windows。我建议安装 wamp 或 xampp。这不是真正的解决方案,只是一种解决方法。很抱歉没能帮到您。
-
您使用 PDO 吗?你检查过 PDO 设置吗? stackoverflow.com/a/4386731/1461181
-
我严重怀疑 IIS 是否会自动将所有对象转换为数组。你只是有一个数组而不是一个对象。