2011-08-10 24 views
1

這一個讓我難住。我有兩種Windows安裝的PHP:32位操作系統上的32位和64位操作系統上的64位。兩者都使用Apache 2.2(本地架構),並且都將php作爲模塊加載。如果使用手機瀏覽器,可執行文件的不同輸出

然後我有一個控制檯應用程序(.Net),它輸出一行與東西在其中。通常,它將輸出一個單詞,如E_INVALID_CREDENTIALS或S_SUCCESS(自定義代碼),後跟冒號和隨機數據。我在PHP中使用$e = exec("command")並解析輸出$e。不過,我已經在exec聲明之後用die($e)進行了測試,如果我使用手機瀏覽器(iPod touch或Android 2.2),exec的輸出只是第一個詞和冒號,但如果我使用桌面瀏覽器(Chrome或Firefox),輸出是由控制檯應用程序打印的完整行。

我已經手動運行命令,甚至打印命令PHP正在執行,我看到沒有理由截斷輸出。

任何人都可以幫我解決這個問題嗎?

+1

我認爲它可能有更多的關於頁面格式比與PHP代碼。 – datasage

+0

不是。我做了一個模($ e),純明文輸出。仍然沒有區別。另外,我沒有爲桌面瀏覽器提供不同格式的東西。相同的頁面,相同的樣式,相同的一切。 – Soumya

回答

0

最後。經過幾天的調試,我意識到我發送給控制檯應用程序的用戶名已被移動瀏覽器大寫。雖然大寫的用戶名並沒有發生錯誤,但它以其他神祕的方式失敗了。我應該早一點發現它。無論哪種方式,這是控制檯應用程序中的一個深奧的錯誤,並且與PHP無關。我仍然責怪手機資本化我的用戶名...

1

如果你沒有檢查用戶的代理和其他客戶端信息,PHP是服務器端,因此它沒有任何連接。

如果你真正得到不同的信息,確保您的瀏覽器均使用同一設置(啓用了Cookie,例如)

但是這一切都取決於你的依賴從代碼中端和代碼作爲一個整體。

也許就有了一切可見的,但所以會出現不同的不同的瀏覽器,你剛纔錯了CSS或東西(?)

+0

雖然如此。我已啓用所有Cookie和內容。我檢查了cookie的價值和存在,它們看起來完全一樣。事實上,exec甚至運行相同的命令,如通過回顯命令字符串的內容所測試的那樣。而且我不會爲桌面瀏覽器提供任何不同的服務。 – Soumya

相關問題