我在文件中有错误:Abstract.php
Warning: htmlspecialchars() expects parameter 1 to be string,array given in /usr/local/zend/share/ZendFramework/library/Zend/View/Abstract.php on line 905
我在第905行有这个:
public function escape($var)
{
if (in_array($this->_escape, array('htmlspecialchars', 'htmlentities'))) {
return call_user_func($this->_escape, $var, ENT_COMPAT, $this->_encoding);
}
if (1 == func_num_args()) {
return call_user_func($this->_escape, $var);
}
$args = func_get_args();
return call_user_func_array($this->_escape, $args);
}
我不明白这一点......
答案 0 :(得分:0)
您可能已将数组添加到$this->escape()
函数中。
如果您不知道在哪里添加文件Abstract.php
,请执行以下操作:
if(is_array($var)){
Zend_Debug::dump($var);//this will print variable causing problem
//OR
throw new Exception(' ');//this will print debug backtrace showing which line caused problem
}
答案 1 :(得分:0)
我在lib / Varien / Data / Form / Element / Abstract.php上遇到了同样的问题 我在下面做了更新
protected function _escape($string)
{
return htmlspecialchars($string, ENT_COMPAT);
}
带
protected function _escape($string)
{
if(is_string($string)) {
return htmlspecialchars($string, ENT_COMPAT);
}
else
{
return $string;
}
}
事情开始奏效。