偶爾我遇到問題,PHP文件在大型系統上的某處在某些情況下會產生虛假輸出。是否有可能確定哪個PHP文件生成一些輸出
這可能是因爲有人不小心輸入空格或其他字符<?php
開始標記之前,或留在原位不想要的調試echo
或包含最終收盤?>
標籤後,一些空白。
有沒有什麼方法可以生成一個日誌,顯示所有生成一些輸出的PHP文件,以及它們生成的輸出?
如果沒有,是否有其他方式可以建議追蹤我描述的問題?
編輯:澄清 - 我運行的系統是Moodle(不直接相關,但是因爲它被問到......),在這種情況下,輸出是在數據庫升級期間(但我已經在其他時間輸出隨機字符的類似問題)。有很多不同的PHP腳本被加載到內存中以生成頁面,因此手動識別產生不需要的輸出的頁面並不是一個非常誘人的前景...
headers_sent($ file,$ line)可以告訴你至少第一個輸出是在哪裏生成的,請參閱http://docs.php.net/headers_sent – VolkerK
我想你需要訪問Web服務器。如果您擁有個人服務器,這是可能的。 – Tabby
在相關說明中,如果可以的話,完全避免使用'?>' - 它是可選的,並且在純PHP文件中通常很痛苦。 – hexblot