编程语言
首页 > 编程语言> > PHP导入脚本中未初始化的字符串偏移错误

PHP导入脚本中未初始化的字符串偏移错误

作者:互联网

我有一个import-from-excel脚本作为CMS的一部分,之前运行没有问题.

我的共享托管服务提供商最近升级了他们的基础设施,包括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); 
}

最后,在第133行的/path/scriptname.php中出现“致命错误:允许的内存大小为47185920字节耗尽(试图分配71个字节)”.

Apache错误日志中没有任何用处.我很难过.任何人都有任何想法,至少在哪里看?即使知道它是否可能是我的脚本中的内容或与升级有关的东西将是有用的.我在同一个提供程序上有一个不同的站点的另一个问题(升级后)无法将会话写入tmp目录(自解决后),但我很确定它不是那个(?).

编辑:事实证明答案是与解析器的版本在某种程度上与PHP 5.2.6不兼容,我认为它可能对某人有用,有问题的解析器是Spreadsheet Excel Reader.

解决方法:

Uninitialized string offset:

…表示$data不是数组.

标签:apache,php,web-hosting
来源: https://codeday.me/bug/20190607/1193456.html