2008-10-08 26 views
4

我有一個從以前運行沒有問題的CMS的一部分導入從Excel中的腳本。來自PHP導入腳本的未初始化的字符串偏移量錯誤

我的共享託管提供程序最近已將其基礎架構(包括PHP從5.1升級到5.2.6),並且該腳本現在返回「未初始化的字符串偏移:第27行的/path/scriptname.php中的-XXX」(XXX爲從512和/path/scriptname.php減少的數字當然是腳本的完整路徑)。

它爲excel文件的每一行返回此錯誤。 27線距離的函數,其在其導入的數據正在被處理的第一個點內返回:

function GetInt4d($data, $pos) { 
     return ord($data[$pos]) | (ord($data[$pos+1]) << 8) | (ord($data[$pos+2]) << 16) | (ord($data[$pos+3]) << 24); 
} 

它最後用一個「致命錯誤內爆:用盡47185920個字節允許存儲器大小(試圖在133行上的/path/scriptname.php中分配71個字節)。

在Apache錯誤日誌中沒有任何用處。我很難過。任何人有任何想法至少在哪裏看?即使知道它是否可能是我的腳本中的某些內容或與升級有關的東西也是有用的。我有另一個問題與同一個提供程序上的另一個站點(升級後)無法將會話寫入tmp目錄(自解析後),但我確定它不是(?)。

編輯:事實證明,答案是解析器的版本與PHP 5.2.6以某種方式不兼容,我認爲這可能是有用的解析器是Spreadsheet Excel Reader

回答

2

Uninitialized string offset:

...表示$data不是數組。

1

感謝您的輸入,通過查找我正在使用的解析庫的更新版本,情況「已自行解決」。我的猜測是這個問題與php版本之間的區別,儘管我不確定是什麼。固定但令人沮喪。

編輯:我打算接受蒂爾的答案純粹是爲了解決問題。 Thx再次輸入。

相關問題