2017-07-13 50 views
-1

在PHP中,是否有對象操作符的替代方法,或者爲什麼對象操作符不能在Windows/IIS環境中工作?PHP對象操作符( - >)不能在Windows/IIS上工作

我試圖從Linux/Apache/MySQL遷移到Windows/IIS/MySQL(IIS10,PHP 7.1.1)的PHP Web應用程序,並且它看起來對象操作符在Windows環境中不起作用。爲了使網站工作的一部分,我不得不所有數組引用來自

$query_rs->id; 

轉換爲

$query_rs['id']; 

我還擔心使用對象操作的用於功能,如

$Member->save(); 

和像

$this->id 
其他對象屬性訪問

感謝您的時間,我在這裏或網絡上的其他地方找不到關於此問題的很多信息。

+1

服務器日誌中是否存在可能提供任何線索的錯誤? –

+1

當你說它不工作發生了什麼?對象和數組是不同的,你展示的是對象已經成爲數組。沒有理由說對象不能在IIS中工作,它仍然是PHP的後遺症。 – Doug

+1

顯然這是一個IIS錯誤。我從來沒有使用它,我不明白爲什麼其他人會使用它,除非出於某種奇怪的原因,您的生產服務器也是Windows。我建議安裝wamp或xampp。這不是一個真正的解決方案,只是一個解決方法。對不起,無法幫助你。 –

回答

0

我從Linux/Apache/MySQL(Apache 2.2,MySQL 5.5,PHP 5.4)遷移到Windows/IIS/MySQL(Windows Server 2012,IIS 10,MySQL 5.5,PHP 7.1)的PHP Web應用程序使用object operator - >成功訪問.php文件和內聯PHP代碼中的數組項。在新的WIMP環境中,這不起作用並導致500內部服務器錯誤。我不得不從語法

$query_rs->id; 

重新配置所有數組引用

$query_rs['id']; 

應用程序將工作之前。我做了很多測試來確定問題並確定對象操作符的其他常規用法按預期工作。我認爲這可能是由PHP版本更新或IIS導致的問題,因爲我有一些其他問題需要使用簡短的開放標籤才能使用IIS。