我是PHP新手。 一个PHP今天从迁移到5.3.3版本5.4.4(Debian的挤压给Debian喘息),并在此之后,我从Apache日志此错误:PHP警告:非法字符串偏移量
> PHP的警告:非法串偏移“phptype”在XYZ
该生产线是:
self::$conn[$dsn['phptype']] = $mdb2;
我需要帮助来恢复系统。
我是PHP新手。 一个PHP今天从迁移到5.3.3版本5.4.4(Debian的挤压给Debian喘息),并在此之后,我从Apache日志此错误:PHP警告:非法字符串偏移量
> PHP的警告:非法串偏移“phptype”在XYZ
该生产线是:
self::$conn[$dsn['phptype']] = $mdb2;
我需要帮助来恢复系统。
当您尝试使用对象或数组作为索引键访问数组索引时,会发生非法偏移类型错误。检查你的数组是否合适。
<?php
$a = 'Hello';
echo $a['whatever'];
?>
正如评论中的一些人所说,做这样的事情可能会导致错误。正如你在上面的例子中看到的,$a
是一个字符串而不是数组。这意味着你不能用钥匙访问它(如果你想获得字符串中的第三个字母,那么可以使用$a[2]
)。
您需要检查self::$conn
和$dsn
实际上是数组而不是字符串。作为阿尔瓦罗·维卡里奥G.在评论中说,您可以通过倾销变量做到这一点:
var_dump(self::$conn, $dsn)
我猜是'自:: $ conn'或'$ dsn'是一个字符串。 – hek2mgl
'var_dump(self :: $ conn,$ dsn)' –
[Illegal string offset Warning PHP]可能的重复(http://stackoverflow.com/questions/9869150/illegal-string-offset-warning-php) –