這是對one I asked a few days ago的後續問題,最終設法解決我自己。雖然我很高興找到潛在的問題,但這個問題僅表現在一個(三個)環境中的事實看起來很奇怪。託管環境之間的HTTP重定向行爲不一致
該問題與CakePHP 2.3.0站點上在控制器中重定向的操作($this->redirect(...);
)有關。基本上,重定向在我的本地(Mac OS X/10.6.8,Apache/2.2.17,PHP/5.3.4)開發機器以及我的同事(Windows 7,Apache/2.4.2, PHP/5.4.3)。 「添加」操作插入記錄到數據庫中,然後重定向到「索引」操作。用戶登錄工作正常。沒有問題,一切都看起來正確。但是,在我們的臨時服務器(Debian GNU/Linux 6.0.6內核3.2.6,Apache/2.2.22,PHP/5.3.15)上,試圖重定向的任何控制器操作導致HTTP 200空白頁面(而不是預期的HTTP 302重定向)。
該頁面並非真正的空白,而是我最終發現的一個換行符在我的控制器之一中打開PHP標籤之前錯誤地添加了。據我所知,換行本質上觸發了頭部輸出的結束,因此無法寫入Location: ...
頭部。
一旦發現錯誤的換行符,這是一個快速修復,但我想知道爲什麼我在我的Mac或我的同事的Windows機器上看不到相同的空白頁面行爲。我不確定這是PHP還是Apache版本之間的怪癖,或者真的。我對任何人的理論都感興趣,爲什麼事情會按照他們的方式行事。
如何在機器之間移動文件? – Raffaele 2013-03-12 17:26:12
我們有一個顛覆回購 – theraccoonbear 2013-03-12 18:08:51