2009-12-08 40 views
2

我有一個php表單處理腳本,它不能正確保存在我們的活動或測試服務器上,但正在我的本地測試環境中工作。我對文件進行了一些微小的更改,並且它開始正確處理。然後我恢復了這些變化,並且事情仍然正常工作。換行符導致php錯誤?

我想知道是否有可能一些換行符/換行符或其他隱藏字符在那裏導致問題。有沒有其他人經歷過這樣的事情?

+2

如果你的語法正確,換行符不應該是一個問題。檢查文件權限並確保它們可以被網絡服務器讀取 - 我以前曾被抓過。 – jlb 2009-12-08 19:39:39

+0

你能澄清「沒有正確保存」嗎? – 2009-12-08 19:40:52

+0

什麼類型的錯誤是由「錯誤」版本的文件引起的? – 2009-12-08 19:55:50

回答

0

在打開<?php標記之前,您可能有隱藏的字符。

如果您正在進行任何標頭操作或session_start()它將失敗,因爲如果<?php不是文件中的第一件事,那麼服務器將啓動它的響應。

您應該檢查你的PHP錯誤日誌。

+0

我是他的同事。錯誤日誌沒有任何相關性。 – 2009-12-08 21:24:47

1

我的第一個想法會去下面檢查下列事項:

  • 如果你頭部的somekind的已經發出錯誤在你的腳本開始
  • 是檢查BOM -Bytes或其他不可見字符你使用html/form名稱或php變量的非英文字符檢查所有文件的編碼。它必須是無處不在
  • Google arround for php lineending-settings。前段時間,我聽說如果排隊錯誤,可能會發生一些事情。

編輯:否則,如果您給我們一些示例代碼將是有益的。

+0

對於字節順序標記+1;可能是一個真正的痛苦,因爲PHP會將其評估爲輸出。 – Dereleased 2009-12-08 21:00:54

+0

可能與此有關:http://bugs.php.net/bug.php?id=8858 – 2009-12-08 21:21:17